@ConditionalOnProperty与@EnableConfigurationProperties注解

Spring boot中的注解@ConditionalOnProperty,可以通过配置文件中的属性值来判定configuration是否被注入

@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.TYPE, ElementType.METHOD })
@Documented
@Conditional(OnPropertyCondition.class)
public @interface ConditionalOnProperty {

   /**
   * String数组  该属性与下面的 name 属性不可同时使用,
    * 当value所对应配置文件中的值为false时,注入不生效,不为fasle注入生效
   * value有多个值时,只要有一个值对应为false,则注入不成功      
   */
   String[] value() default {};

   /**
   * 配置文件中key的前缀,可与value 或 name 组合使用 
   */
   String prefix() default "";

   /**
    * 与 value 作用一致
    */

String[] name() default {};
/**
 * 与value 或 name 组合使用,只有当value 或 name 对应的值与havingValue的值相同时,注入生效 */ String havingValue() default ""; /** * 配置中缺少对应的属性时,是否可以被注入;为true时缺少对应配置可注入 */ boolean matchIfMissing() default false;}
  */
String havingValue() default "";

/**
 *该属性为true时,配置文件中缺少对应的value或name的对应的属性值,也会注入成功
 */
boolean matchIfMissing() default false;

@EnableConfigurationProperties注解的作用是:使使用 @ConfigurationProperties 注解的类生效。

posted @ 2021-08-30 15:53  zmy98  阅读(338)  评论(0)    收藏  举报