zoukankan      html  css  js  c++  java
  • 注解(Annotation)

    注解(Annotation)很重要,未来的开发模式都是基于注解的,JPA是基于注解的,Spring2.5以上都是基于注解的,Hibernate3.x以后也是基于注解的,现在的Struts2有一部分也是基于注解的了,注解是一种趋势,现在已经有不少的人开始用注解了,注解是JDK1.5之后才有的新特性

    JDK1.5之后内部提供的三个注解

           @Deprecated 意思是“废弃的,过时的

           @Override 意思是“重写、覆盖

           @SuppressWarnings 意思是“压缩警告

    注解(Annotation)相当于一种标记,在程序中加入注解就等于为程序打上某种标记,没有加,则等于没有任何标记,以后,javac编译器、开发工具和其他程序可以通过反射来了解你的类及各种元素上有无何种标记,看你的程序有什么标记,就去干相应的事,标记可以加在包、类,属性、方法,方法的参数以及局部变量上。


    如在javaEE提供的tutorial中的hello1中的Hello.java代码写到:

     1 package javaeetutorial.hello1;
     2 
     3 import javax.enterprise.context.RequestScoped;
     4 import javax.inject.Named;
     5 
     6 @Named
     7 @RequestScoped
     8 public class Hello {
     9 
    10     private String name;
    11 
    12     public Hello() {
    13     }
    14 
    15     public String getName() {
    16         return name;
    17     }
    18 
    19     public void setName(String user_name) {
    20         this.name = user_name;
    21     }
    22 }

    Hello类,称为管理bean类,提供了getter和setter方法name中的Facelets页面表达式中使用属性。默认情况下,表达式语言引用类名,第一个字母为小写(hello.name)。

    如果使用bean类的默认名称,则可以指定@Model 为注释,而不必同时指定@Named和 @RequestScoped@Model注释被称为刻板印象,对于封装等注解注释的术语。

    Hello.java类中,注释javax.inject.Named并 javax.enterprise.context.RequestScoped使用请求范围将类标识为托管bean。范围定义应用程序数据如何保持和共享。

    JavaServer Faces应用程序中最常用的范围如下:

    • Request(@RequestScoped):请求范围在Web应用程序中的单个HTTP请求期间保持不变。在类似的应用程序hello1中,应用程序由单个请求和响应组成,bean使用请求范围。

    • Session(@SessionScoped):会话范围在Web应用程序中的多个HTTP请求中保持不变。当应用程序由需要维护数据的多个请求和响应组成时,bean使用会话范围。

    • Application(@ApplicationScoped):应用程序范围在所有用户与Web应用程序的交互中持续存在。

  • 相关阅读:
    vue项目 安装
    处理XML的几种方式
    从URL中获取搜索关键字
    Azure VM 远程无法登陆问题(No Remote Desktop License)
    也谈[关于大型网站技术演进的思考--存储的瓶颈]
    UML类图
    Apache Spark探秘:三种分布式部署方式比较
    Standalone Debugging Tools for Windows (WinDbg)
    UML: CIM & PIM
    C# 延迟初始化
  • 原文地址:https://www.cnblogs.com/formyfish/p/10555532.html
Copyright © 2011-2022 走看看