「SpringBoot 相关注解」@Retention 元注解
@Retention 介绍
Retention.java 类位于 JDK 的 rt.jar 内,属于一个 JDK 注解
它是用来修饰注解的,是注解的注解,称之为元注解
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {RetentionPolicy value();
}
@Retention 作用
该注解是定义被它所注解的注解保留多久,内部有一个枚举类型的属性 RetentionPolicy
该枚举有 3 个可选值 SOURCE
、CLASS
、RUNTIME
public enum RetentionPolicy {/*** 注解保留在源文件,当 Java 文件编译成 class 文件的时候,注解将被编译器废弃*/SOURCE,/*** 注解被保留到 class 文件,但在 jvm 加载 class 文件的是时候被废弃(默认属性)*/CLASS,/*** 注解将被记录在由编译器的类文件,并在运行时由虚拟机保留*/RUNTIME
}
@Retention 属性选择
- 如果需要在运行时动态获取注解信息,只能用 RUNTIME
- 如果要在编译时进行一些预处理操作,就用 CLASS
- 如果仅仅做一些检查的操纵,则用 SOURCE
如下为使用不同属性的注解示例
@Import 注解使用 RUNTIME
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Import {Class<?>[] value();
}
@Immutable 注解使用 CLASS
@Documented
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.CLASS)
public @interface Immutable {}
@Override 注解使用 SOURCE
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)
public @interface Override {}
「SpringBoot 相关注解」@Retention 元注解相关推荐
- java元注解_Java的元注解
注解是一系列元数据,它利用元数据来解释.说明程序代码(即被注解的对象).注解的作用包括: 1.提供信息给编译器,编译器可以利用注解来探测错误和警告信息. 2.软件工具可以利用注解信息来生成代码.HTM ...
- 注解(7)_元注解_元注解的概念_@Retention_@Target_@Documented_@Inherited
元注解的概念 元注解是用于修饰其他注解的注解. (1)元注解本身也是注解. (2)元注解是用来修饰别的注解的. JDK5.0提供了四种元注解: @Retention @Target @Document ...
- @Retention元注解的使用
@Retention注解标记其他的注解用于指明标记的注解保留策略: 先看Java SE 8中@Target是如何声明的: package java.lang.annotation;public enu ...
- Java注解篇(一)四大元注解@Target@Retention@Documented注解
1.@Target目标注解,意思带注解的适用于哪些范围,有以下参数可供使用 @Target(ElementType.METHOD) 1.CONSTRUCTOR:用于描述构造器 2.FIELD:用于描述 ...
- JAVA注解 | 可重复元注解@Repeatable
目录 使用 @Repeatable 使用反射获取注解 约束 @Repeatable 是 JDK1.8 增加的元注解,用于声明当前注解是可重复的.如果有没有声明 @Repeatable,在同一个地方使用 ...
- 关于Java的Retention元注解
为什么80%的码农都做不了架构师?>>> Demo 写了一个自定义注解: package com.my.test;import java.lang.annotation.Ele ...
- 「SpringBoot学习一」开发入门--快速创建springboot程序
前言 本片博客记录快速创建springboot工程的两种方式.一种是使用maven创建,一种是使用spring initializr创建.开发环境JDK1.8.IDEA.maven. SpringBo ...
- 拦截器获取请求参数post_「SpringBoot WEB 系列」RestTemplate 之自定义请求头
[WEB 系列]RestTemplate 之自定义请求头 上一篇介绍了 RestTemplate 的基本使用姿势,在文末提出了一些扩展的高级使用姿势,本篇将主要集中在如何携带自定义的请求头,如设置 U ...
- spring boot 高性能批量新增_「SpringBoot DB系列」Jooq之新增记录使用姿势
[SpringBoot DB 系列]Jooq 之新增记录使用姿势 接下来我们开始进入 jooq 的增删改查的使用姿势系列,本篇将主要介绍如何利用 jooq 来实现添加数据 I. 项目搭建 本项目借助S ...
最新文章
- mongodb地理位置索引实现原理
- 深入讨论PHP5对象复制技术
- 使用FFmpeg进行视频抽取音频,之后进行语音识别转为文字
- Nginx配置实例-反向代理实例:根据访问的路径跳转到不同端口的服务中
- Timus1286(欧几里德算法的应用)
- sql server 2008安装错误(无法处理异常)
- Visio 中如何画实现接口的连线
- 量体裁衣:将DevOps转型融入到企业文化
- sitck-breaking折棍法理解
- [Vue warn]: Error in render: “TypeError: Cannot read properties of undef
- jquery : 插件 jsgrid 范例
- 决定了,儿童节我们用python画这个...
- 序号47指标横向展示.xlsx_杭州增加2万个小客车指标!想拥有“浙A”车牌,这个APP一定要收好~...
- flutter 中Sliver一些想法
- latex和word文档互相转换
- ArrayList 和 Vector 的区别是什么?
- 在Unity2018如何使用代码一键设置Icon
- 由手机号绑定的账号,都应设置更换手机号功能
- 异构图注意力网络(Heterogeneous Graph Attention Network)
- 自动驾驶功能架构的演进
热门文章
- 北京市供销合作总社与华融新兴达成全面战略合作 ——SinoBBD 携手华融 大数据产业基金推动行业升级...
- 寻找图像中的局部极大点
- 在word中插入公式并给公式编号
- python学完后做什么_python学完之后主要是做什么?
- Cesium for UE4 加载离线本地服务器
- 怎样追女孩子?当然是用python把她的照片做成拼图游戏,给她看啦..
- IBM Watson:武士刀的悲歌
- 根据用户ID查询上级和上上级组织机构
- python中的- >符号
- Set遍历解决java.util.NoSuchElementException报错问题