@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相关推荐

  1. Java注解篇(一)四大元注解@Target@Retention@Documented注解

    1.@Target目标注解,意思带注解的适用于哪些范围,有以下参数可供使用 @Target(ElementType.METHOD) 1.CONSTRUCTOR:用于描述构造器 2.FIELD:用于描述 ...

  2. java @Target@Retention @Documented 注解的含义

    spring 注解@Target@Retention @Documented 当我们看想看一个spring 注解点击进去看的时候就会发现,注解类中大多都会有标题中的这三个注解,这三个注解什么意思呢?, ...

  3. @Target,@Retention,@Documented注解简介

    学习目标: 了解@Target,@Retention,@Documented各自的作用 学习内容: @Target:说明了Annotation所修饰的对象范围 作用:用于描述注解的使用范围(即:被描述 ...

  4. @Target,@Retention,@Documented 注释的作用

    @Target target英文有目标.目的的意思. @Target在java中是注释类.@Target作用于修饰的注释可以修饰的类型范围 @Target包含一个ElementType[]元素类型的数 ...

  5. 注解整理 - 元注解,lombok注解,spring 注解,springboot注解,springmvc注解

    注解大全 java四种元注解 @Target @Retention @Documented @Inherited lombok注解 lombok注解为什么强大 lombok注解的使用方式 1.安装lo ...

  6. 元注解@Target、@Retention、@Documented、@Inherited的用法

    元注解(meta-annotation)的作用就是负责注解其他注解,Java5定义了元注解类型,他们被用来提供对其它annotation类型做说明. @Target @Retention @Docum ...

  7. java 四种元注解@Target、@Retention、@Documented 和@Inherited

    java 四种元注解@Target.@Retention.@Documented 和@Inherited @Target 表示该注解用于什么地方,可能的值在枚举类 ElemenetType 中,包括: ...

  8. java spring框架 注解_史上最全的java spring注解

    史上最全的java spring注解,没有之一 注解是个好东西,但好东西我们也是看见过,整理过,理解过,用过才知道好.不求我们每个都记住,但求保有印象,在需要的时候能提取出来再查找相关资料,平时工作就 ...

  9. spring注解源码分析--how does autowired works?

    1. 背景 注解可以减少代码的开发量,spring提供了丰富的注解功能.我们可能会被问到,spring的注解到底是什么触发的呢?今天以spring最常使用的一个注解autowired来跟踪代码,进行d ...

最新文章

  1. PCL滤波介绍(1)
  2. BUUCTF 特殊的BASE64
  3. hdu1796容斥原理
  4. linux内核杂记(7)-进程调度(2)
  5. 牛客网【每日一题】4月30日题目精讲 换个角度思考
  6. cos7安装mysql_centos7 安装 mysql
  7. MYSQL MVCC 实现机制
  8. 拓端tecdat|R语言文本主题模型之潜在语义分析(LDA:Latent Dirichlet Allocation)
  9. 慢牛股票-基于Sencha touch+Cordova的股票类APP
  10. EDIUS中的图片该如何进行剪裁
  11. Android UI详解之布局管理器(一)
  12. 项目中对数据库的操作
  13. 【沃顿商学院学习笔记】商业分析——Customer Analytics:01 描述性分析 Descriptive Analytics
  14. The authenticity of host ‘XXXX‘ can‘t be established错误解决
  15. Python个人主页项目-1.项目分析与产品设计
  16. 红细胞膜包裹载抗癌药的PLGA纳米载体/聚多巴胺涂覆载药plga材料(生物偶联)
  17. 柱纵向钢筋长度计算机械连接,柱钢筋计算公式图解
  18. nodejs读取服务器json文件,nodejs读写json文件的简单方法(必看)
  19. 主题论文总结6:生成式摘要(以罗列为主)(持续更新ing...)
  20. 树莓派 4B 下 Linux 系统高级命令行

热门文章

  1. 如何在Mac上设置iMessage?
  2. MySQL系列二:CRUD
  3. 大象营销:玩转设计师渠道
  4. 为什么35岁以后的中年人,会对自己的未来无比焦虑?
  5. 【openGL2021版】阶段展示
  6. “飞行模式”与“离线模式”
  7. ipsec文档配置讲解
  8. PyTorch-Geometric安装教程
  9. C++ 读写文件(整行读写VSCodeC++环境配置)
  10. 最新版SpringBoot结合ProGuard实现代码混淆