Spring @Conditional使用

有些定时任务,或者多个RabbitMQ中某个RabbitMQ在某些情况下不用使用,可以使用@Conditional,决定某个component是否被加载。

@Conditional({MyCondition.class})可以在类或者方法上。

在public class MyCondition implements Condition 类里,@Value不能使用。如:
@Value(“${test}”)
private String test;

需使用conditionContext的environment:
@Override
public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
Environment environment = conditionContext.getEnvironment();
return Boolean.parseBoolean(environment.getProperty(“test”));
}

你可能感兴趣的:(Spring,spring,java,后端)