工具类获取Spring的ApplicationContext对象

2014-11-24 08:46:48 · 作者: · 浏览: 0

这个方法初始化很慢,ApplicationContext context = new ClassPathXmlApplicationContext();当时我觉得没有这个必要,浪费内存。后来我终于想出了一个解决方法。在此拿来给大家参考下,希望对大家有帮助。


我写的代码如下:

01
package com.task.common;
02

03
import java.util.Locale;
04
import org.springframework.beans.BeansException;
05
import org.springframework.context.ApplicationContext;
06
import org.springframework.context.ApplicationContextAware;
07
/**
08
* 获取Spring上下文及国际化
09
* @author bingchuan -->www.vijun.com
10
*
11
*/
12
public final class SpringContextUtil implements ApplicationContextAware {
13
private static ApplicationContext context;
14

15
@SuppressWarnings("static-access")
16
public void setApplicationContext(ApplicationContext contex) throws BeansException {
17
this.context=contex;
18
}
19
public static Object getBean(String beanName){
20
return context.getBean(beanName);
21
}
22

23
public static String getMessage(String key){
24
return context.getMessage(key, null, Locale.getDefault());
25
}
26
}


上面可以获取ApplicationContext及国际化内容,使用方法如下:
1.首先在spring配置文件中中初始化 www.2cto.com
1
< bean class = "com.task.common.SpringContextUtil" id = "springContextUtil" />

2.使用

1
JdbcTemplate jdbcTemplate= (JdbcTemplate)SpringContextUtil.getBean("jdbcTemplate");


作者:叶落花开