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");  
  • 相关阅读:
    代码重构(转)
    Apache负载均衡 配置
    恒久的忍耐
    setInterval全面的介绍
    引用 110个Oracle 常用函数的总结
    ssl和tls
    JSTL
    java异常处理的陋习(转载)
    Java 6 JVM参数选项大全(中文版)
    liunx基础常用命令
  • 原文地址:https://www.cnblogs.com/hwaggLee/p/5462527.html
Copyright © 2011-2022 走看看