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應用程序 |