spring 注解@Target @Retention @Documented
@Target({ ElementType.PARAMETER, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface SystemLog {
boolean value() default true;
}
Retention注解
Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值:
1.RetentionPolicy.SOURCE —— 这种类型的Annotations只在源代码级别保留,编译时就会被忽略
2.RetentionPolicy.CLASS —— 这种类型的Annotations编译时被保留,在class文件中存在,但JVM将会忽略
3.RetentionPolicy.RUNTIME —— 这种类型的Annotations将被JVM保留,所以他们能在运行时被JVM或其他使用反射机制的代码所读取和使用.
下面示例中, @Retention(RetentionPolicy.RUNTIME)注解表明 Test_Retention注解将会由虚拟机保留,以便它可以在运行时通过反射读取.
Documented 注解
Documented 注解表明这个注解应该被 javadoc工具记录. 默认情况下,javadoc是不包括注解的. 但如果声明注解时指定了 @Documented,则它会被 javadoc 之类的工具处理, 所以注解类型信息也会被包括在生成的文档中.(个人观点:不是重点,了解即可。勿喷)
Target注解
@Target说明了Annotation所修饰的对象范围:Annotation可被用于 packages、types(类、接口、枚举、Annotation类型)、类型成员(方法、构造方法、成员变量、枚举值)、方法参数和本地变量(如循环变量、catch参数)。在Annotation类型的声明中使用了target可更加明晰其修饰的目标。
作用:用于描述注解的使用范围(即:被描述的注解可以用在什么地方)
取值(ElementType)有:
1.CONSTRUCTOR:用于描述构造器
2.FIELD:用于描述域
3.LOCAL_VARIABLE:用于描述局部变量
4.METHOD:用于描述方法
5.PACKAGE:用于描述包
6.PARAMETER:用于描述参数
7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
Inherited 注解
这是一个稍微复杂的注解类型. 它指明被注解的类会自动继承. 更具体地说,如果定义注解时使用了 @Inherited 标记,然后用定义的注解来标注另一个父类, 父类又有一个子类(subclass),则父类的所有属性将被继承到它的子类中.
spring 注解@Target @Retention @Documented相关推荐
- Java注解篇(一)四大元注解@Target@Retention@Documented注解
1.@Target目标注解,意思带注解的适用于哪些范围,有以下参数可供使用 @Target(ElementType.METHOD) 1.CONSTRUCTOR:用于描述构造器 2.FIELD:用于描述 ...
- java @Target@Retention @Documented 注解的含义
spring 注解@Target@Retention @Documented 当我们看想看一个spring 注解点击进去看的时候就会发现,注解类中大多都会有标题中的这三个注解,这三个注解什么意思呢?, ...
- @Target,@Retention,@Documented注解简介
学习目标: 了解@Target,@Retention,@Documented各自的作用 学习内容: @Target:说明了Annotation所修饰的对象范围 作用:用于描述注解的使用范围(即:被描述 ...
- @Target,@Retention,@Documented 注释的作用
@Target target英文有目标.目的的意思. @Target在java中是注释类.@Target作用于修饰的注释可以修饰的类型范围 @Target包含一个ElementType[]元素类型的数 ...
- 注解整理 - 元注解,lombok注解,spring 注解,springboot注解,springmvc注解
注解大全 java四种元注解 @Target @Retention @Documented @Inherited lombok注解 lombok注解为什么强大 lombok注解的使用方式 1.安装lo ...
- 元注解@Target、@Retention、@Documented、@Inherited的用法
元注解(meta-annotation)的作用就是负责注解其他注解,Java5定义了元注解类型,他们被用来提供对其它annotation类型做说明. @Target @Retention @Docum ...
- java 四种元注解@Target、@Retention、@Documented 和@Inherited
java 四种元注解@Target.@Retention.@Documented 和@Inherited @Target 表示该注解用于什么地方,可能的值在枚举类 ElemenetType 中,包括: ...
- java spring框架 注解_史上最全的java spring注解
史上最全的java spring注解,没有之一 注解是个好东西,但好东西我们也是看见过,整理过,理解过,用过才知道好.不求我们每个都记住,但求保有印象,在需要的时候能提取出来再查找相关资料,平时工作就 ...
- spring注解源码分析--how does autowired works?
1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能.我们可能会被问到,spring的注解到底是什么触发的呢?今天以spring最常使用的一个注解autowired来跟踪代码,进行d ...
最新文章
- PCL滤波介绍(1)
- BUUCTF 特殊的BASE64
- hdu1796容斥原理
- linux内核杂记(7)-进程调度(2)
- 牛客网【每日一题】4月30日题目精讲 换个角度思考
- cos7安装mysql_centos7 安装 mysql
- MYSQL MVCC 实现机制
- 拓端tecdat|R语言文本主题模型之潜在语义分析(LDA:Latent Dirichlet Allocation)
- 慢牛股票-基于Sencha touch+Cordova的股票类APP
- EDIUS中的图片该如何进行剪裁
- Android UI详解之布局管理器(一)
- 项目中对数据库的操作
- 【沃顿商学院学习笔记】商业分析——Customer Analytics:01 描述性分析 Descriptive Analytics
- The authenticity of host ‘XXXX‘ can‘t be established错误解决
- Python个人主页项目-1.项目分析与产品设计
- 红细胞膜包裹载抗癌药的PLGA纳米载体/聚多巴胺涂覆载药plga材料(生物偶联)
- 柱纵向钢筋长度计算机械连接,柱钢筋计算公式图解
- nodejs读取服务器json文件,nodejs读写json文件的简单方法(必看)
- 主题论文总结6:生成式摘要(以罗列为主)(持续更新ing...)
- 树莓派 4B 下 Linux 系统高级命令行