zoukankan      html  css  js  c++  java
  • 在Bean中获取spring 容器 并通过容器获取容器中其他bean

    spring 提供了Awear 接口去 让bean 能感受到外界的环境。Awear 接口有很多实现,常用的有

    ApplicationContextAware (可以通过实现这个接口去获取ApplicationContext),
    BeanNameAware(可以获取Bean自身的一些属性),
    BeanFactoryAware(可以获取BeanFactory)
    @Component
    public class ApplicationContextManager implements ApplicationContextAware{
    
        private   static  ApplicationContext applicationContext;
    
        @Override
        public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
            System.out.println("---------------------添加Application--------------------------");
             if(ApplicationContextManager.applicationContext == null){
                 ApplicationContextManager.applicationContext = applicationContext;
             }
        }
    
        public static   ApplicationContext getApplicationContext(){
            return applicationContext;
        }
    
        /**
         * 通过name 获取Bean
         */
        public static Object getBean(String beanName){
          return   applicationContext.getBean(beanName);
        }
    
        public static <T> T getBean(String beanName,Class<T> clazz){
            return  applicationContext.getBean(beanName,clazz);
        }
    
        public static <T> T getBean(Class<T> clazz){
            return  applicationContext.getBean(clazz);
        }
    }
  • 相关阅读:
    UVa 11440 Help Tomisu (欧拉函数)
    理解最小路径覆盖(转)
    bzoj 3196: Tyvj 1730 二逼平衡树
    splay
    bzoj 3223: Tyvj 1729 文艺平衡树
    小奇的糖果(candy)
    线性函数
    bzoj 4408: [Fjoi 2016]神秘数
    bzoj 4446: [Scoi2015]小凸玩密室
    bzoj 4443: [Scoi2015]小凸玩矩阵
  • 原文地址:https://www.cnblogs.com/li-zhi-long/p/10956254.html
Copyright © 2011-2022 走看看