JAVA Annotation(注解):java.lang.annotation
使用注解功能时,如果需要用反射读取注解,就必须设置@Retention(RetentionPolicy.RUNTIME),因为默认情况下为CLASS,读取的时候会报异常
@Retention可选参数:RetentionPolicy
CLASS
编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。RUNTIME
编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。SOURCE
编译器要丢弃的注释。
@Target可以限制注解针对的对象:
ANNOTATION_TYPE
注释类型声明CONSTRUCTOR
构造方法声明FIELD
字段声明(包括枚举常量)LOCAL_VARIABLE
局部变量声明METHOD
方法声明PACKAGE
包声明PARAMETER
参数声明TYPE
类、接口(包括注释类型)或枚举声明
上面两个注解在我们写注解的时候常用的,如果需要查看注解的详细说明,请看这里:
http://www.blogjava.net/mlh123caoer/archive/2007/09/06/143260.html
下面是我写的一个简单例子,通过注解,自动生成创建表的SQL
先是两个注解:@SqlTable和@SqlColumn
create table tableTest(username varchar2(20) not null,age number(12) ,birthday date,bz varchar2(200) )