spring boot之所以能够自动配置bean,是通过基于条件来配置Bean的能力实现的。
常用的条件注解如下
@ConditionalOnBean:当容器里存在指定的Bean的条件下
@ConditionalOnClass:当前类路径下存在指定的类的条件下
@ConditionalOnExpression:基于SpEL表达式作为判断条件
@ConditionalOnJava:基于JVM版本作为判断条件
@ConditionalOnJndi:在JNDI存在的条件下查找指定的位置
@ConditionalOnMissingBean:当容器里没有指定的Bean的条件下
@ConditionalOnMissingClass:当前类路径下没有指定的类的条件下
@ConditionalOnNotWebApplication:当前项目不是web项目的条件下
@ConditionalOnProperty:指定的属性是否有指定的值的条件下
@ConditionalOnResource:类路径下是否有指定的值
@ConditionalOnSingleCandidate:指定Bean在容器中只有一个,或者虽然有多个但是指定首选的Bean
@ConditionalOnWebApplication:当前项目是Web项目的条件下
这些注解都组合了@Conditional注解,只是使用了不同的条件。
springboot常用注解
最新推荐文章于 2023-08-10 16:02:41 发布