Annotation这名字一点都不陌生,在目前的比较流行的框架如hibernate、spring、struts等等框架都看到其注解的身影,但是其原理估计很多人都不会去研究的,都是直接拿来用而已,出于好奇心理把jdk1.5的特新annotation研究了下,发现很有趣,下面带来的一篇关于我学习自定义annotation的学习心得,该学习心得是根据我好友兼老师Frank的所写的eao框架流程从简单的自定义到复杂难道的进阶所编写,写的不好请原谅.
环境准备:系统eclipse Galileo sr2版本
JDk1.5版本以上,我用的是JDK1.6u update20
准备工作完成后创建一个JavaProject,名字随便啦,在eclipse中选择File->new->Annotation然后出现下图:
新建好的类如下图:
@interface 是说明当前类是一个注解类型,而且在类中可以插入多个自定义注解
定义方法:
@interface Annotation名 {定义体}
类中输入如下信息:
@Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface PrintSystem { String value(); String property = "fuck"; int number() default 100; }
先来解释下@Retention和@Target
@Retention 可以设置为RetentionPolicy类型的值。
例:
@Retention(RetentionPolicy.RUNTIME)
@Target表明Annotation可以附加在哪种JAVA元素之上,可以设置为java.lang.annotation.ElementType数组类型的值。
当@Target不写的时候默认适用于任何地方(即ElementType枚举中里面所有的字段)