`
周凡杨
  • 浏览: 230387 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JAVA Annotation之定义篇

阅读更多

    Annotation: 译为注释或注解

An annotation, in the Java computer programming language, is a form of syntactic metadata that can be added to Java source code. Classes, methods, variables, parameters and packages may be annotated. Unlike Javadoc tags, Java annotations can be reflective in that they can be embedded in class files generated by the compiler and may be retained by the Java VM to be made retrievable at run-time.
   简译之:注释在Java计算机语言中是一种句法(语法)的元数据的形式,它可以被添加到JAVA的源代码中。 类、方法、变量、参数和包都可以被注释。与Javadoc标记不同的是,JAVA注释可以反射检索那些已经嵌入过注释被编译器生成的class文件,或那些保留在JAVA虚拟机中在运行时可获取的。

 

    Java annotations are typically used for the following purposes:

 Compiler instructions
 Build-time instructions
 Runtime instructions

 

   Java有三个内置注释,它们可以发指令给Java编译器。

   Java注释可以被用来在编译时,当你建立你的软件项目。构建过程包括生源代码,编译源代码,生成XML文件(例如部署描述符),包装编译后的代码和文件到一个JAR文件等.构建的软件通常是由一个自动构建工具如Apache Ant或Apache Maven。构建工具可以扫描你的Java代码的具体说明和生成源代码或基于这些批注的其他文件。

 

一 注释的形式

    最基础的注释形式

@Entity
    @符号对于编译器来说标志着这是一个注释,@后面的字符串代表这个注释的名字。 

    带元素的注释形式

      注释也可以有元素,它们可以用来设值。这里的元素可以理解为一个属性或参数。

      

@Entity(tableName = "vehicles")

 

      这里需要注意,如果注释要有参数,需要在注释名称后面加一对括号,参数与参数值以“参数=‘参数值’”的形式位于括号内。

上面例子中注释有一个元素tableName,它的值为vehicles,当然它也可有多个元素,如:

@Entity(tableName = "vehicles", primaryKey = "id")

 

      如果注释只有一个元素,通常情况下元素名会采用“value”(这是一个惯例):

@InsertNew(value = "yes")

 

      当注释只有一个元素,并且元素名为“value”,那就可以直接省略掉name,直接写元素值:

@InsertNew("yes")

 

二 注释的位置

You can put Java annotations above classes, interfaces, methods, method parameters, fields and local variables.

 

      注释可以加在类、接口、方法、方法参数、字段和本地变量上。下面是一个在类定义上加注释的例子:

@Entity
public class Vehicle {

}

 

 

   下面举一个加注释的位置情况全的例子:

 

@Entity
public class Vehicle {
    @Persistent
    protected String vehicleName = null;

    @Getter
    public String getVehicleName() {
        return this.vehicleName;  
    }

    public void setVehicleName(@Optional vehicleName) {
        this.vehicleName = vehicleName;
    }

    public List addVehicleNameToList(List names) {

        @Optional
        List localNames = names;

        if(localNames == null) {
            localNames = new ArrayList();
        }
        localNames.add(getVehicleName());

        return localNames;
    }

}
 

 

    总结:本文只是简单的介绍了一下注释的定义、书写形式及书写的位置。初步了解Java注释的信息后,再来详谈Java中自带的一些Annotations、以及项目中Annotation的高级用法。

 

 

 

 

   参考资料:

      http://www.cnblogs.com/java-chen/archive/2013/06/14/3135866.html

      http://blog.csdn.net/x_yp/article/details/6229516

      http://computerdragon.blog.51cto.com/6235984/1210969

      http://www.cnblogs.com/mandroid/archive/2011/07/18/2109829.html

      http://tutorials.jenkov.com/java/annotations.html

      http://en.wikipedia.org/wiki/Java_annotation

 

 

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics