spring學習-04-@Conditional條件註解
阿新 • • 發佈:2021-01-20
1、@Conditional
條件註解;滿足當前條件,這個類中配置的所有bean註冊才能生效;
使用如下:
@Conditional({MyCondition.class})
public class TestCondition {
}
//只有dev環境時 才會載入
public class MyCondition implements Condition {
@Override
public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
Environment environment = context.getEnvironment();
String property = environment.getProperty("profile");
if(property.equals("dev")){
return true;
}
return false;
}
}
2、其他@Conditional擴充套件註解
- @ConditionalOnBean:容器中存在指定的bean
- @ConditionalOnMissingBena:容器中不存在指定的bean
- @ConditionalOnExpression:滿足ELPS表示式指定
- @ConditionalOnClass:系統中有存在的類
- @ConditionalOnMissingClass:系統中不存在的類
- @ConditionalOnProperty:系統中指定的屬性是否有指定的值
- @ConditionalOnResource:類路徑下是否存在指定的資原始檔
- @ConditionalOnWebApplication:當前是web環境