30

Bean の作成中に、YAML プロパティ ファイルで 2 つの条件が満たされていることを確認する必要があります。@ConditionalOnProperty注釈がサポートするプロパティは 1 つだけなので、どうすればよいでしょうか?

4

4 に答える 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

AllNestedConditionsSpring 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 に答える