首页 > 其他分享 >多层注解非必填处理

多层注解非必填处理

时间:2023-11-13 12:34:03浏览次数:32  
标签:必填 default enabled 多层 interface 注解 Condition

一、场景

当使用复合注解时,需要将多个注解包含到一个注解中时,注解字段是必填的,这时候需要处理

二、解决方法

复合注解

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

    /**
     * 条件1
     */
    Condition org() default @Condition(enabled = false);

    /**
     * 条件2
     */
    Condition dept() default @Condition(enabled = false);

}

原子注解

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Condition {
    /**
     * 是否开启
     *
     * @return 默认开启
     */
    boolean enabled() default true;

}

标签:必填,default,enabled,多层,interface,注解,Condition
From: https://blog.51cto.com/u_15814313/8341447

相关文章

  • 自定义注解
    1、类注解/***需要动态查询CodeTable数据字典时,在类上配置该注解*/@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic@interfaceCodeAnnotation{}2、字段注解/***需要动态查询CodeTable数据字典时,在对应str属性上配置该注解......
  • Spring6.0官方文档示例:(25)@RequestScope注解
    packagecn.edu.tju.controller.listener;importorg.springframework.stereotype.Component;importorg.springframework.web.context.annotation.RequestScope;importjava.util.Date;@Component@RequestScope//@Scope(value="request",proxyMode=Sco......
  • springboot2 @Mapper注解问题
    @MapperpublicinterfaceDeptMapper{   DeptgetById(Integerid);}问:这段代码是把这个接口注入到spring的bean容器当中去了,但是spring的bean容器不是存的实例化对象吗?答:在Spring框架中,将一个类(或接口)注入到Spring的容器中,即将其声明为一个Bean。这样,Spring容器会负......
  • Spring 缓存注解这样用,太香了!
    作者最近在开发公司项目时使用到Redis缓存,并在翻看前人代码时,看到了一种关于@Cacheable注解的自定义缓存有效期的解决方案,感觉比较实用,因此作者自己拓展完善了一番后分享给各位。Spring缓存常规配置SpringCache框架给我们提供了@Cacheable注解用于缓存方法返回内容。但......
  • Java jackson常用注解汇总
    提起jackson,在日常使用中,由于涉及到各种序列化和反序列化的处理,就不能不提注解,了解注解的常用方式可以极大地方便我们处理序列化,今天分享一些在使用jackson中涉及到的注解。目录1.@JsonProperty-字段命名2.@JsonPropertyOrder-字段序列化顺序3.@JsonAlias-字段别名,反序......
  • Spring 3.0 注解注入详解
    一、各种注解方式 1.@Autowired注解(不推荐使用,建议使用@Resource)     @Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作。@Autowired的标注位置不同,它们都会在Spring在初始化这个bean时,自动装配这个属性。要使@Autowired能够工作,还需要在配置文件中......
  • @RequestBody接收Json参数 用自定义注解对Vo对象中Date类型日期格式校验
    @RequestBody接收Json参数|用自定义注解对Vo对象中Date类型日期格式校验问题描述昨天测试的同事测试接口的时候,测试出来一个Date类型校验问题。要求输入的日期格式是:yyyy-MM-ddHH:mm:ss,Vo中使用的注解如下:@DateTimeFormat(pattern=”yyyy-MM-ddHH:mm:ss”)测试同事输入下面两种......
  • Java拾贝第十九天——注解
    Annotation注解(Annotation)是一种可以作用于类、属性或方法的,带有特定功能的,特殊的"注释"。且注解不影响程序的运行:不论是否使用注解,代码都可以正常执行。Annotation接口定义如下publicinterfaceAnnotation{ booleanequals(Objectobj); inthashCode(); StringtoSt......
  • TestNG的几种注解顺序查看
    测试代码:packagecom.soos.apps.selenium.apply;importorg.testng.annotations.*;@TestpublicclassTestDemo{@BeforeMethodpublicvoidbeforeMethod(){System.out.println("beforeMethod");}@AfterMethodpublicvoid......
  • 一文带你掌握JPA实体类注解
    一文带你掌握JPA实体类注解−目录基本注解@Entity@Table@Basic(未加注解的默认注解)@Transient@Column@Id@GeneratedValue@GenericGenerator其他注解@Enumerated@Temporal@DynamicInsert、@DynamicUpdate@Access复合主键@EmbeddedId+@Embeddable@IdClass@Embedded+@Attribut......