[教程]自定义Annotation之一入门篇(定义简单的注解)

Annotation这名字一点都不陌生,在目前的比较流行的框架如hibernate、spring、struts等等框架都看到其注解的身影,但是其原理估计很多人都不会去研究的,都是直接拿来用而已,出于好奇心理把jdk1.5的特新annotation研究了下,发现很有趣,下面带来的一篇关于我学习自定义annotation的学习心得,该学习心得是根据我好友兼老师Frank的所写的eao框架流程从简单的自定义到复杂难道的进阶所编写,写的不好请原谅.

环境准备:系统eclipse Galileo sr2版本

JDk1.5版本以上,我用的是JDK1.6u update20

准备工作完成后创建一个JavaProject,名字随便啦,在eclipse中选择File->new->Annotation然后出现下图:

image 

新建好的类如下图:

image

@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)

image

@Target表明Annotation可以附加在哪种JAVA元素之上,可以设置为java.lang.annotation.ElementType数组类型的值。

 

image

当@Target不写的时候默认适用于任何地方(即ElementType枚举中里面所有的字段)

posted @ 2010-05-09 22:36  EdwardLau  阅读(1789)  评论(0编辑  收藏  举报