我需要在創建bean時檢查yml文件中的兩個條件('AND'(條件應滿足))。我怎麼做,因爲@ConditionalOnProperty只支持一個屬性配置。如何使用@ConditionalOnProperty或@ConditionalOnExpression檢查兩個條件
3
A
回答
3
您可能會對Spring Boot 1.3.0中引入的AllNestedConditions
抽象類感興趣。這使您可以在任何@Bean
由@Configuration
類別初始化之前創建複合條件,其中您定義的所有條件都必須應用。
public class ThisPropertyAndThatProperty extends AllNestedConditions {
@ConditionalOnProperty("this.property")
@Bean
public ThisPropertyBean thisProperty() {
}
@ConditionalOnProperty("that.property")
@Bean
public ThatPropertyBean thatProperty() {
}
}
然後你就可以註釋你的@Configuration
這樣的:
@Conditional({ThisPropertyAndThatProperty.class}
@Configuration
0
通過使用兩個屬性@ConditionalOnExpression一起解決了這個問題。
@ConditionalOnExpression("'${com.property1}${com.property2}'=='value1value2'")
其中配置屬性值如下。
屬性1 名稱 - com.property1
價值 - value1
屬性2 名稱 - com.property2
價值 - 這裏http://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html描述value2
2
使用@ConditionalOnExpression
註釋和規劃環境地政司表達。
實施例:
4
由於從@ConditionalOnProperty的開始,有可能來檢查多個屬性。名稱/值屬性是一個數組。
@Configuration
@ConditionalOnProperty({ "property1", "property2" })
protected static class MultiplePropertiesRequiredConfiguration {
@Bean
public String foo() {
return "foo";
}
}
對於具有AND檢查的簡單布爾屬性,您不需要@ConditionalOnExpression。
相關問題
- 1. Spring引導 - @ConditionalOnProperty或@ConditionalOnExpression
- 2. 如何通過檢查兩個條件
- 3. VLOOKUP檢查兩個條件
- 4. 如何使用數據編織檢查兩個條件
- 5. 如果條件檢查兩個TextField值
- 6. 檢索滿足任何一個條件或行兩個條件
- 7. 如何檢查mysql中單個查詢中的兩個條件?
- 8. 如何檢查一個條件的兩條SQL記錄?
- 9. 如何檢查空條件使用LINQ
- 10. 如何在一個<c:if>中檢查兩個條件?
- 11. 如何使用兩個條件?
- 12. 如何使用兩個條件
- 13. 使用Ant構建編譯前檢查兩個條件
- 14. 在bash腳本中使用mySQL檢查兩個條件
- 15. jquery使用.filter()檢查兩個td:nth-child(x)條件
- 16. 如何使用google map api v3中的if條件檢查兩個LatLng值?
- 17. 如何檢查5的兩個條件是否屬實?
- 18. 如何在if語句中檢查兩個條件?
- 19. Javascript - 如何檢查表格上的兩個條件
- 20. 如何檢查兩個條件Laravel where子句
- 21. 如何檢查if語句中的兩個條件?
- 22. 如何在插入前檢查兩個條件?
- 23. 如何檢查呈現屬性內的兩個條件?
- 24. 檢查使用SQL條件
- 25. 檢查和OR條件檢查之間的兩個
- 26. 如何同時檢查多個條件
- 27. 如何選擇查詢使用兩個表的條件
- 28. @ConditionalOnProperty列表或數組?
- 29. 如何檢查兩條線的交點?
- 30. 如何檢查2個條件在Linux上使用
怎麼樣''$ {com.property1} =='value1'和$ {com.property2} =='value2'「'? – Navrocky