Spring提供了多种实现化条件化配置的选择,最基本的就是@Conditional,在@Conditional基础上又衍生出来很多,如ConditionalOnProperty和ConditionalOnClass等。
@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一个Bean)
@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)
@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)
@ConditionalOnMissingBean(仅仅在当前上下文中不存在某个对象时,才会实例化一个Bean)
@ConditionalOnMissingClass(某个class类路径上不存在的时候,才会实例化一个Bean)
@ConditionalOnNotWebApplication(不是web应用
虽然spring提供了很多,但是实际需求下,有很多场景是不满足的,需要自定义条件配置。
步骤如下:
1、自定义一个类继承SpringBootConditional
例如:class TestCondition extends SpringBootConditional
2、在配置类上添加:
@Conditional(TestCondition.class);
本文介绍了Spring框架中条件化配置的多种方式,包括@ConditionalOnBean、@ConditionalOnClass等注解的使用,并提供了一个自定义条件配置的例子。
8659

被折叠的 条评论
为什么被折叠?



