springContextUtil

工具类用来获取bean,

applicationContext.xml

<bean id="springContextUtil" class="com.hna.hka.rmc.common.util.SpringContextUtil" lazy-init="false"></bean>

工具类:

package com.hna.hka.rmc.common.util;

import javax.servlet.ServletContext;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.web.context.ServletContextAware;

/**
 * 从Spring容器中取得对象
 * @author weiyuan
 *
 */
public class SpringContextUtil implements ApplicationContextAware,
        ServletContextAware {

    private static ApplicationContext applicationContext; // Spring上下文对象.静态变量,可在任何代码任何地方任何时候中取出ApplicaitonContext. 

    private static ServletContext servletContext;// 注入 系统上下文对象

    Log log = LogFactory.getLog(SpringContextUtil.class);
    /**
     * 实现ApplicationContextAware接口的回调方法,设置上下文环境
     *
     * @param applicationContext
     * @throws BeansException
     */
    public void setApplicationContext(ApplicationContext applicationContext) {
        log.debug(" com.hna.hka.rmc.common.util.SpringContextUtil setApplicationContext "+applicationContext);
        SpringContextUtil.applicationContext = applicationContext;
    }

    /**
     * @return ApplicationContext
     */
    public static ApplicationContext getApplicationContext() {
        return applicationContext;
    }

    /**
     * 获取对象
     *
     * @param name
     * @return Object 一个以所给名字注册的bean的实例
     * @throws BeansException
     */
    public static Object getBean(String name) throws BeansException {
        return applicationContext.getBean(name);
    }

    /**
     * 功能 : 实现 ServletContextAware接口,由Spring自动注入 系统上下文对象
     *
     **/
    public void setServletContext(ServletContext servletContext) {
        SpringContextUtil.servletContext = servletContext;
    }

    /**
     * @return ServletContext
     */
    public static ServletContext getServletContext() {
        return servletContext;
    }
}

java调用:
private Template template = (Template) SpringContextUtil.getBean("Template");

 
时间: 2024-08-26 23:44:39

springContextUtil的相关文章

一种获取spring环境上下文方法:SpringContextUtil

获得spring里注册Bean的有好几种方法,这里介绍一种比较简单的方法: import org.springframework.beans.BeansException; import org.springframework.beans.factory.NoSuchBeanDefinitionException; import org.springframework.context.ApplicationContext; import org.springframework.context.A

Spring获取Bean示例的最佳方式-SpringContextUtil

最近在做项目中,遇到这样的问题,网上搜索了好多, Java代码   //      ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml","spring-xxxxx.xml"}); //      BeanFactory factory = (BeanFactory)context; //      MonitorSe

获取Spring Bean工具类SpringContextUtil

有时候需要在非Spring环境获取Spring的Bean import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.stereotype.Component; import o

Spring在代码中获取bean的几种方式(转:http://www.dexcoder.com/selfly/article/326)

方法一:在初始化时保存ApplicationContext对象 方法二:通过Spring提供的utils类获取ApplicationContext对象 方法三:继承自抽象类ApplicationObjectSupport 方法四:继承自抽象类WebApplicationObjectSupport 方法五:实现接口ApplicationContextAware 方法六:通过Spring提供的ContextLoader 获取spring中bean的方式总结: 方法一:在初始化时保存Applicati

spring InitializingBean接口

一.接口 public interface InitializingBean { /** * Invoked by a BeanFactory after it has set all bean properties supplied * (and satisfied BeanFactoryAware and ApplicationContextAware). * <p>This method allows the bean instance to perform initialization

Spring容器的工具类

代码实现: package com.ht.util; import java.util.Map; import org.springframework.beans.BeansException; import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; public class SpringContextUtil implem

newsisAP

43.82.124.62 admin/12345 lync账号: [email protected] ap\5109v20471 3E4r5t6y host添加: 146.215.40.21 dev.ap-newsis.sony-asia.com 121.100.37.223 ap-newsis.sony-asia.com dev环境: 146.215.42.8  dneadmin sony1234/project/ibm/WebSphere/AppServer/profiles/AppSrv0

写给即将毕业的学弟学妹们!

1.Spring Security 目前支持认证一体化如下认证技术: HTTP BASIC authentication headers (一个基于IEFT  RFC 的标准) HTTP Digest authentication headers (一个基于IEFT  RFC 的标准) HTTP X.509 client certificate exchange  (一个基于IEFT RFC 的标准) LDAP (一个非常常见的跨平台认证需要做法,特别是在大环境) Form-based auth

Highcharts 之 【动态数据】

最近项目中需要用到图表,找了几个开源框架,最后选择 Highcharts,原因是 Highcharts 功能强大,稳定,方便,而且开源,社区比较成熟. 首先下载 Highcharts,导入项目. 在 HTML 页面引入相应的 Js 文件.我这个项目是情绪监控相关,所谓情绪也就是热点的意思.大数据团队通过爬虫,先从数据库词典里拿到比较靠前的几个行业名称,然后通过爬虫在网上抓取这几个行业的热度值.每天固定时间抓取,统计一次. <!DOCTYPE HTML> <html> <hea