• 根据系统类型选择注入bean(windows,linux注入不同的属性)


    1:需要注入的bean

    /**
     * 选择性注入bean。。根据window,linux系统注入不同的值
     */
    @Configuration
    public class Cap5Config {
    
        /*
            linux系统注入的属性
         */
        @Bean("linuxUser")
        @Conditional(LinuxCondition.class)
        public User linuxUser() {
            return new User("linuxUser", 26);
        }
    
        /*
            Window系统注入的属性
         */
        @Bean("windowUser")
        @Conditional(value = WindowCondition.class)     //选择性注入(需要配合@Bean注解)
        public User windowUser() {
            return new User("windowUser", 26);
        }

    2:设置注册条件

    /**
     * 针对性注册bean:判断条件使用的上下文环境
     */
    public class WindowCondition implements Condition {
    
        @Override
        public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
    
            Environment environment = context.getEnvironment();
            String window = environment.getProperty("os.name");
            if (window.contains("Win")) return true;
            return false;
    
        }
    }

    3:标记条件

    @Conditional(value = WindowCondition.class)

    4:测试

    public class ConditionApplication {
        public static void main(String[] args) {
    
            AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(Cap5Config.class);
    
            String[] beanDefinitionNames = annotationConfigApplicationContext.getBeanDefinitionNames();
            for (String beanName : beanDefinitionNames) {  //获取注入的所有的bean并打印
                System.out.println(beanName);
            }
        }
    }
  • 相关阅读:
    经济--股票--深圳指数基金
    经济--年终奖理财攻略
    经济--股票--基金经理打死不肯说的赚钱黑幕
    经济--股票--基金定投
    经济--股票--基金分类的三个角度
    经济学--股票--必胜法则
    经济--降息对股市是好消息还是坏消息?
    PHP数组的排序函数
    使用回调函数处理数组的函数
    统计数组元素的个数和唯一性的函数
  • 原文地址:https://www.cnblogs.com/draymond/p/12546345.html
Copyright © 2020-2023  润新知