zoukankan      html  css  js  c++  java
  • 2019.6.28 Spring注解

    6.28

    • Spring提供了获取操作系统的信息:

      ApplicationContext applicationContext = new AnnotationConfigApplicationContext(Myconfig.class);
              ConfigurableEnvironment contextEnvironment = (ConfigurableEnvironment) applicationContext.getEnvironment();
      /*对应jvm参数中的os.name*/
              String ospropertyname = contextEnvironment.getProperty("os.name");
              System.out.println(ospropertyname);
      
    • Conditional根据条件判断是否将bean注册到容器中

      1. 需要将注解bean的方法加上@Conditional

      2. @Conditiona接受一个Condition类型的CLass数组,

      3. 需要写一个条件类来实现Conditional接口里面的matches

      4. matches的方法形参是ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata

        public class Os implements Condition {
            @Override
            public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) {
                /*获取ioc使用的beanfactory*/
                ConfigurableListableBeanFactory beanFactory = conditionContext.getBeanFactory();
                /*获取bean定义的注册类*/
                BeanDefinitionRegistry registry = conditionContext.getRegistry();
                Environment environment = conditionContext.getEnvironment();
                String ospropertyname = environment.getProperty("os.name");
        
                /*判断容器中是否含有bean*/
                //boolean person = registry.containsBeanDefinition("person");
                if(ospropertyname.contains("window")){
                    return true;
                }
                return false;
            }
        }
        
  • 相关阅读:
    常用dos命令
    最新Java校招面试题及答案
    计算机的基本组成及其工作原理
    java中的三大排序算法
    JSP九大内置对象的作用和用法总结
    java代码实现二叉树的遍历
    转发和重定向的区别
    解决中文乱码问题大全
    创建线程的三种方式对比
    Excel 不同文件、sheet 关联引用(vlookup函数)
  • 原文地址:https://www.cnblogs.com/mwss/p/11105110.html
Copyright © 2011-2022 走看看