zoukankan      html  css  js  c++  java
  • spring-从普通java类取得注入spring Ioc容器的对象的方案

    1.启动服务时通过spring容器的监听器(继承ContextLoaderListener 监听器的方法)

    public class ListenerSpringContext extends ContextLoaderListener {
        private final Logger log = LoggerFactory.getLogger(ListenerSpringContext.class);
    
        public void contextInitialized(ServletContextEvent event) {
            log.info("init ListenerSpringContext...");
            super.contextInitialized(event);
            ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(event.getServletContext());
         //自己手动保留一个spring注入的容器
            UtilsSpringContext.setApplicationContext(applicationContext);
        }
    
    }

    2.实现appctionContextaware的方法

    package com.ceopen.eoss.spring;  
      
    import org.springframework.beans.BeansException;  
    import org.springframework.context.ApplicationContext;  
    import org.springframework.context.ApplicationContextAware;  
      
    public class SpringUtil implements ApplicationContextAware {  
          
        private static ApplicationContext applicationContext;  
          
        @Override  
        public void setApplicationContext(ApplicationContext context)  
            throws BeansException {  
            SpringUtil.applicationContext = context;  
        }  
        public static Object getBean(String name){  
            return applicationContext.getBean(name);  
        }  
    }  

     将SpringUtil注入spring配置文件

    <bean id="spring" class="com.ceopen.eoss.spring.SpringUtil" />  

    获取

    ICBMission icbMission = (ICBMission)SpringUtil.getBean("ICBMission");  
  • 相关阅读:
    @PostConstruct和 @PreDestroy注解
    【JQuery】,ajax请求中,url出现[Object Object]
    筛法求素数
    母牛的故事
    将一个数拆分
    计算两个日期差
    用二分查找——查找比目标元素略大的索引
    反向输出字符串
    bootstrap table合并单元格(该版本是简单的应用)
    获取访问者IP
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/5462527.html
Copyright © 2011-2022 走看看