@Conditional注解---spring

@Configuration
@Import(MyImportSelector.class)
public class ApplicationConfig {

    @Conditional(TestCondition.class)
    @Bean
    public MyBeanFactory myBeanFactory(){
        return new MyBeanFactory();
    }
}

该注解必须接收一个继承了Condition接口的实现类,而接口Condition中的方法matches()的返回值确定是否加载当前的Bean(matches()方法中实现判断逻辑),返回值为true,则加载下面的bean;

@Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
        return true;
    }

该注解也可以放在整个配置类的前面,这种情况下决定是否加载当前配置类

另外,可以看出该注解接受的是反射类型的数组,也就是可以接受多个判断条件来确定是否加载当前配置

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章