首页 > 代码库 > java注解列表
java注解列表
@Target(targettype)
用于指示那种类型可以应用annotation。
如果一个annotation没有定义target,那么这个annotation可以出现在任何元素上。
target的参数是java.lang.annotation.ElementType.*类型:
ANNOTATION_TYPE:annotation
CONSTRUCTOR:构造方法
- FIELD:类field,包括enum
- LOCAL_VARIABLE:本地变量
- METHOD:方法
- PACKAGE:包
- PARAMETER:参数
TYPE:类、接口、annotation、enum
如:
//这个MetaAnnotationType仅能出现在定义annotation时
@Target(ElementType.ANNOTATION_TYPE)public @interface MetaAnnotationType { ... }
@Retention(tetention-policy)
retention定义annotation失效时机。
其值是java.lang.annotation.RetentionPolicy.*类型,具体取值:
- source:仅仅在source阶段生效,如@Override、@SuppressWarnings
- class(默认):在class加载时失效,但在编译成二进制文件时是有效的
- runtime:不会失效。如:@Deprecated
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 = "http://www.mamicode.com/Annotation Example", intValue = http://www.mamicode.com/100) public static void myMethod() { }}
@Documented
用于指示配置此annotation的java元素,会被javadoc文档化。
@Documented@Inherited // for descenders of the annotation to have the @documented feature automatically@Retention(RetentionPolicy.RUNTIME) // must be therepublic @interface InWork { .../** * annotated class */@InWork(value = "")public class MainApp { ...
如果用javadoc来获取doc文档,会看到MainApp的文档
@Configuration
用于指示class可以被spring ioc容器作为bean的definition
java注解列表
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。