SpringBoot提供了一些条件注解类用于项目的自动配置。
条件注解 | 配制生成条件 |
---|---|
@ConditionalOnBean | 配置了某个特定的Bean |
@ConditionalOnMissingBean | 没有配置特定的Bean |
@ConditionalOnClass | Classpath里有指定的类 |
@ConditionalOnMissingClass | Classpath里没有指定的类 |
@ConditionalOnExpression | 给定的Spring Expression Language (SpEL)表达式计算结果为True |
@ConditionalOnJava | Java的版本匹配特定值或者一个范围值 |
@ConditionalOnJndi | 参数值给定的JNDI位置必须存在一个,如果没有参数,则要有JNDI InitialContext |
@ConditionalOnProperty | 制定的配置属性要有一个明确的值 |
@ConditionalOnResource | Classpath里有指定的资源 |
@ConditionalOnWebApplication | 这是一个web应用程序 |
@ConditionalOnNotWebApplication | 这不是一个web应用程序 |