[英]Is there a replacement of PropertySourcesBinder in Spring Boot 2.X.X?
[英]Spring Boot 2.x.x - Combine 2 conditions in @ConditionalOnProperty
我有以下界面:
@Primary
@ConditionalOnProperty(value = "ms.couchbase.enabled", havingValue = "true", matchIfMissing = true)
@ConditionalOnProperty(value = "iiams.switch.iiamsSingleProcessIdPer100", havingValue = "true", matchIfMissing = true)
public interface AsyncCommonRepository extends CouchbaseRepository<CouchbaseDocument, Long> { }
當然這不會編譯。
我想要的只是以某種方式將這兩個@ConditionalOnProperty
結合起來。 我應該使用@ConditionalOnExpression
嗎?
提前致謝!
您可以使用AllNestedConditions
組合兩個或多個條件:
class AsyncCommonRepositoryCondition extends AllNestedConditions {
AsyncCommonRepositoryCondition() {
super(ConfigurationPhase.PARSE_CONFIGURATION);
}
@ConditionalOnProperty(value = "ms.couchbase.enabled", havingValue = "true", matchIfMissing = true)
static class CouchbaseEnabled {
}
@ConditionalOnProperty(value = "iiams.switch.iiamsSingleProcessIdPer100", havingValue = "true", matchIfMissing = true)
static class SingleProcessIdPer100 {
}
}
然后可以在您的存儲庫上使用此條件:
@Primary
@Conditional(AsyncCommonRepositoryCondition.class)
public interface AsyncCommonRepository extends CouchbaseRepository<CouchbaseDocument, Long> { }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.