Springboot常用注解之@Target,@Documented和@Retention

编程知识 更新时间:2023-04-07 15:26:54

1. @Target

   Target设定注解使用范围,通过ElementType来指定注解可使用范围的枚举集合 。

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Target {

   ElementType.ANNOTATION_TYPE表示注解在被@interface修饰的类型,否则报错。

   同理,常用的ElementType.METHOD表示注解在方法上,否则报错。

   ElementType用法

取值注解使用范围
TYPE类,接口上或者枚举申明
FIELD字段申明和枚举常量
METHOD方法
PARAMETER参数
CONSTRUCTOR构造方法
LOCAL_VARIABLE局部变量
ANNOTATION_TYPE注解类型上(被@interface修饰的类型)
PACKAGE安装包申明
TYPE_PARAMETER类型参数申明
TYPE_USE使用一种类型

 

2.@Documented

   Documented注解表明这个注释是由 javadoc记录的。 如果一个类型声明被注释了文档化,它的注释成为公共API的一部分。

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Documented {

3.@Retention

   @Retention与RetentionPolicy这个枚举类型的常量一起指定注释要保留多长时间

   RetentionPolicy描述保留注释的各种策略

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.ANNOTATION_TYPE)
public @interface Retention {

   RetentionPolicy用法:

取值解释
SOURCE编译器丢弃注释
CLASS编译器会记录在文件中,默认运行时不需要虚拟机保留
RUNTIME编译器记录在文件中,由虚拟机运行时保留,便于读取。

 

更多推荐

Springboot常用注解之@Target,@Documented和@Retention

本文发布于:2023-04-07 15:26:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/502f80a58b277aeebde169013f1c6850.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:注解   常用   Springboot   Retention   Documented

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 53732文章数
  • 14阅读数
  • 0评论数