Springboot 标签使用

1、ConditionalOnProperty

@Component

@ConditionalOnProperty(name = "evi.gateway.rabbitStatus", havingValue = "open")

public final class SendOrderHandle {

。。。。业务代码

}

通过配置属性,控制是否走业务逻辑

application.properties : evi.gateway.rabbitStatus=close

标签属性

  1. @Retention(RetentionPolicy.RUNTIME)  
  2. @Target({ElementType.TYPE, ElementType.METHOD})  
  3. @Documented  
  4. @Conditional({OnPropertyCondition.class})  
  5. public @interface ConditionalOnProperty {  
  6.     String[] value() default {}; //数组,获取对应property名称的值,与name不可同时使用  
  7.   
  8.     String prefix() default "";//property名称的前缀,可有可无  
  9.   
  10.     String[] name() default {};//数组,property完整名称或部分名称(可与prefix组合使用,组成完整的property名称),与value不可同时使用  
  11.   
  12.     String havingValue() default "";//可与name组合使用,比较获取到的属性值与havingValue给定的值是否相同,相同才加载配置  
  13.   
  14.     boolean matchIfMissing() default false;//缺少该property时是否可以加载。如果为true,没有该property也会正常加载;反之报错  
  15.   
  16.     boolean relaxedNames() default true;//是否可以松散匹配,至今不知道怎么使用的  
  17. }  











猜你喜欢

转载自blog.csdn.net/hhb910/article/details/80596090
今日推荐