作个笔记,省得时间久了忘了。java
public @interface ConditionalOnProperty { //name的别名 String[] value() default {}; //属性前缀 String prefix() default ""; //属性名称,最终的属性=prefix+name String[] name() default {}; //属性要匹配的值 String havingValue() default ""; //若是false,没有配置属性或配置的属性值和指定的value不匹配,在实例化bean以前就报错,若是true,即便没有指定配置或配置的属性值不匹配,也进行实例化,不过实例化的时候会不会报错,就无论。false用于你引入组件必须进行属性指定的状况。true可用于约定俗成的状况。 boolean matchIfMissing() default false; }