编程语言
首页 > 编程语言> > ANNOTATION and analyse hello1.java

ANNOTATION and analyse hello1.java

作者:互联网

一、What is annotation?

annotation的中文意思就是注解,注释的意思。注解也属于一种类型。它是在 Java SE 5.0 版本中开始引入的概念。它的形式跟接口很类似,不过前面多了一个 @ 符号。

维基百科的解释:

在Java计算机编程语言中,注释是一种可以添加到Java源代码的语法元数据。可以注释类,方法,变量,参数和包。与Javadoc标签一样,可以从源文件中读取Java注释。与Javadoc标记不同,Java注释也可以嵌入和读取编译器生成的类文件。这允许Java VM在运行时保留注释并通过反射读取。可以用Java中的现有元注释创建元注释。

注释用于提供有关程序的补充信息。

 

类别:

1.标记注释:

唯一的目的是标记声明。这些注释不包含任何成员,也不包含任何数据。因此,它作为注释的存在就足够了。由于标记界面不包含任何成员,因此只需确定它是否存在就足够了。

例如: -  @Test()

2.单值注释:

这些注释仅包含一个成员,并允许使用指定成员值的简写形式。我们只需要在应用注释时指定该成员的值,而不需要指定成员的名称。但是,为了使用此简写,成员的名称必须是值。

例如: -  @Test(“testing”);

3.完整注释:

这些注释由多个数据成员/名称,值,对组成。

例如: - @TestAnnotation(owner =“Rahul”,value =“Class Geeks”)

 

Example:

1.@named:

javax.inject 

public @interface Named

通过@Named标注处理单接口与多个实现类的注入

其具体使用方法为:

    使用 @Named 标记 Module 中生成类实例的方法

    使用 @Named 标记目标类中相应类实例

    用法示例:

     public class Car {
       @Inject @Named("driver") Seat driverSeat;
       @Inject @Named("passenger") Seat passengerSeat;
       ...
     }

2.@requestscope:

javax.enterprise.context

public @interface RequestScoped

指定bean是请求范围的。

请求范围处于活动状态:

请求上下文被销毁:

3.@mode

javax.enterprise.inject

public @interface Model
用于bean的内置构造型,用于定义MVC Web应用程序体系结构(如JSF)的模型层


二、Hello1.java
//注明包名 package javaeetutorial.hello1;
//引入两个包 import javax.enterprise.context.RequestScoped; import javax.inject.Named; //采用装饰器 @Named          //生成的bean名称和类名称一样 @RequestScoped         //指定bean是请求范围的 //创建hello类 public class Hello {
    private String name;          //定义一个私有string类型的变量name
    public Hello() {             //定义构造函数     }
    public String getName() {      //定义getName()函数         return name;          //返回name的值     }
    public void setName(String user_name) {      //定义setName函数         this.name = user_name;             //将参数的name值赋值给hello的对象     } }
 

标签:Named,Java,name,任何,analyse,public,注释,java,ANNOTATION
来源: https://www.cnblogs.com/lmt-g/p/10590675.html