栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpingBoot中编写注解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpingBoot中编写注解

在Java开发中,会用到很多注解,比如@Autowired,@Bean,这些是SpringBoot框架给我们封装好的,那如何去编写属于自己的注解呢?

一.元注解

@Target

1.@Target可以定义Annotation能够被应用于源码的哪些位置

2.

  • 类或接口:ElementType.TYPE;
  • 字段:ElementType.FIELD;
  • 方法:ElementType.METHOD;
  • 构造方法:ElementType.CONSTRUCTOR;
  • 方法参数:ElementType.PARAMETER。

@Retention

1.定义了Annotation的生命周期

2.

  • 仅编译期:RetentionPolicy.SOURCE;
  • 仅class文件:RetentionPolicy.CLASS;
  • 运行期:RetentionPolicy.RUNTIME。

如果@Retention不存在,则该Annotation默认为CLASS

@Repeatable

1.定义Annotation是否可重复

@Inherited

1.定义子类是否可继承父类定义的Annotation,@Inherited仅针对@Target(ElementType.TYPE)类型的annotation有效,并且仅针对class的继承,对interface的继承无效

二.定义注解

1.用@interface定义注解

2.添加参数、默认值:

3.用元注解配置注解:

必须设置@Target和@Retention,@Retention一般设置为RUNTIME

三.例子
@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@documented
public @interface ReleaseManager {

    String rbacApp() default "xx";
    String handler() default "release";

    boolean needQA() default false;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/315404.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号