标签:des style blog io color os ar java for
用于指示那种类型可以应用annotation。
如果一个annotation没有定义target,那么这个annotation可以出现在任何元素上。
target的参数是java.lang.annotation.ElementType.*类型:
ANNOTATION_TYPE:annotation
CONSTRUCTOR:构造方法
TYPE:类、接口、annotation、enum
如:
//这个MetaAnnotationType仅能出现在定义annotation时
@Target(ElementType.ANNOTATION_TYPE) public @interface MetaAnnotationType { ... }
retention定义annotation失效时机。
其值是java.lang.annotation.RetentionPolicy.*类型,具体取值:
import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; // 此类型annotation不会失效 @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String stringValue(); int intValue(); } public class MainClass { // 在运行时,可以获取MyAnnotation的信息 @MyAnnotation(stringValue = "Annotation Example", intValue = 100) public static void myMethod() { } }
用于指示配置此annotation的java元素,会被javadoc文档化。
@Documented @Inherited // for descenders of the annotation to have the @documented feature automatically @Retention(RetentionPolicy.RUNTIME) // must be there public @interface InWork { ... /** * annotated class */ @InWork(value = "") public class MainApp { ...
如果用javadoc来获取doc文档,会看到MainApp的文档
用于指示class可以被spring ioc容器作为bean的definition
标签:des style blog io color os ar java for
原文地址:http://www.cnblogs.com/ronghantao/p/4059925.html