@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;
    }

該註解也可以放在整個配置類的前面,這種情況下決定是否加載當前配置類

另外,可以看出該註解接受的是反射類型的數組,也就是可以接受多個判斷條件來確定是否加載當前配置

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