注解 annotation
2017-07-26 16:25
48 查看
自动实现 Annotation接口
public @interface AnnoTest
其中可以定义值, 非标识类的注解都有值。(即 标识类的注解没有值)
@ 只有在反射时才有作用。
定义方法: 数据类型 值的名称();
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE) // 表示该注解能标注在哪些地方
public @interface Retention { // 仅仅针对注解的注解,用以注解策略。
RetentionPolicy value();
}
RetentionPolicy -- 该注解生存周期
CLASS
编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。
RUNTIME -- 最重要!!!
编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。
SOURCE
编译器要丢弃的注释。
ElementType -- 该注解能在何处注解
ANNOTATION_TYPE
注释类型声明
CONSTRUCTOR
构造方法声明
FIELD
字段声明(包括枚举常量)
LOCAL_VARIABLE
局部变量声明
METHOD
方法声明
PACKAGE
包声明
PARAMETER
参数声明
TYPE
类、接口(包括注释类型)或枚举声明
public @interface AnnoTest
其中可以定义值, 非标识类的注解都有值。(即 标识类的注解没有值)
@ 只有在反射时才有作用。
定义方法: 数据类型 值的名称();
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE) // 表示该注解能标注在哪些地方
public @interface Retention { // 仅仅针对注解的注解,用以注解策略。
RetentionPolicy value();
}
RetentionPolicy -- 该注解生存周期
CLASS
编译器将把注释记录在类文件中,但在运行时 VM 不需要保留注释。
RUNTIME -- 最重要!!!
编译器将把注释记录在类文件中,在运行时 VM 将保留注释,因此可以反射性地读取。
SOURCE
编译器要丢弃的注释。
ElementType -- 该注解能在何处注解
ANNOTATION_TYPE
注释类型声明
CONSTRUCTOR
构造方法声明
FIELD
字段声明(包括枚举常量)
LOCAL_VARIABLE
局部变量声明
METHOD
方法声明
PACKAGE
包声明
PARAMETER
参数声明
TYPE
类、接口(包括注释类型)或枚举声明
相关文章推荐
- Java注解Annotation
- 整理笔记---Hibernate的Annotation(注解)
- 深入理解Java:注解(Annotation)--注解处理器
- 深入理解Java:注解(Annotation)自定义注解入门
- Java基础-学习使用Annotation注解对象
- struts2 对annotation(注解)的支持
- Spring -- <tx:annotation-driven>注解基于JDK动态代理和CGLIB动态代理的实现Spring注解管理事务(@Trasactional)的区别。
- Java的注解Annotation
- MyBatis注解Annotation介绍及Demo
- 深入理解Java的注解(Annotation):注解处理器(3)
- 深入理解Java注解(Annotation)--自定义注解
- Java基础笔记 – Annotation注解的介绍和使用 自定义注解
- MyBatis框架基于Annotation注解的一对多关联映射
- Java Annotation自定义注解详解
- MyBatis注解Annotation介绍及Demo
- JAXB常用的annotation注解
- 自己动手实现Java注解(Java Annotation in Action)
- Hibernate的Annotation注解
- 黑马程序员面试题高新技术之(JavaBean复杂操作,注解Annotation,泛型应用Generic)
- SpringMVC的四个基本注解annotation(控制层,业务层,持久层) -- @Component、@Repository @Service、@Controller