Spring boot条件自动装配

接口Condition

实现接口Condition,可以指定在满足什么条件的情况下进行自动装配:


如果配置文件中enableEncodingConverCondition的值为true,则进行自动装配


以上两个类都是根据file.encoding的内容判断是否需要自动装配。

下面演示如何使用:


请注意上面@Conditional注解都有两个条件,必须同时满足才会自动装配。

如果需要测试这个测试,可以如下配置file.encoding:

@Conditional也可以在整个类上使用

spring boot自带的Condition所在的位置

spring boot自带的Condition——ConditionalOnBeanConditionalOnMissingBean


请注意,使用条件自动装配,不能依赖于托管给spring管理的bean,比如上面创建Chopsticks的两个方法,当你交换一下顺序就会发现结果完全不同。

spring boot自带的Condition——ConditionalOnProperty


上面的例子中ConditionalOnProperty配合ConditionalOnBean一起使用。

spring boot自带的Condition——ConditionalOnMissingClassConditionalOnClass


ConditionalOnMissingClassConditionalOnClass可以共用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容