Bean の作成中に、YAML プロパティ ファイルで 2 つの条件が満たされていることを確認する必要があります。@ConditionalOnProperty
注釈がサポートするプロパティは 1 つだけなので、どうすればよいでしょうか?
40348 次
4 に答える
29
ここhttp://docs.spring.io/spring/docs/current/spring-framework-reference/html/expressions.html@ConditionalOnExpression
で説明されているように、アノテーションと SpEL 式を使用します。
例:
@Controller
@ConditionalOnExpression("${controller.enabled} and ${some.value} > 10")
public class WebController {
于 2016-10-06T08:49:33.847 に答える
8
AllNestedConditions
Spring Boot 1.3.0 で導入された抽象クラスに興味があるかもしれません。これにより、定義したすべての条件がクラス@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
于 2016-03-15T17:04:16.690 に答える