本文作者:FUNKYE(陈健斌),杭州某互联网公司主程。
起因
有时候在编程中,我们会烦恼一个问题,初始化了一个bean后,业务中用不到了,有时候又需要了,反反复复非常麻烦,所以以下介绍spring提供的条件创建对应bean的方式:
DEMO
1 |
|
总结
@Conditional(MyCondition.class)
这句代码可以标注在类上面,表示该类下面的所有@Bean都会启用配置,也可以标注在方法上面,只是对该方法启用配置
@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一个Bean)
@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)
@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)
@ConditionalOnMissingBean(仅仅在当前上下文中不存在某个对象时,才会实例化一个Bean)
@ConditionalOnMissingClass(某个class类路径上不存在的时候,才会实例化一个Bean)
@ConditionalOnNotWebApplication(不是web应用)