Spring Condition 注解


Spring Condition注解的主要作用是根據條件給容器注入bean,簡稱條件注解。它是spring 4.0引入的新特性

@Component
public class Cat {
}


@Component
@Conditional(Match.class)
public class Dog {
}

public class Match implements Condition {

    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
return false; } } public class Test { public static void main(String[] args) { AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext("com.edu.condition"); String[] beanNames = annotationConfigApplicationContext.getBeanDefinitionNames(); for(String name:beanNames){ System.out.println(name); } } }

Match 實現了Condition,重寫 matches方法,當該方法返回true的時候,表示條件滿足。

從參數context里面可以獲取

1.context.getEnvironment() 環境信息   例如

String osName = context.getEnvironment().getProperty("os.name");  獲取操作系統名稱

2.context.getRegistry()  注冊的bean

3.context.getResourceLoader() 加載的資源

4.context.getBeanFactory()   beanFactory

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM