在javaee项目中,我们通常在web.xml里面配置ContextLoaderListener来初始化整个Spring框架
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:/cn/resources/applicationContext.xml
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
这段配置就是初始化载入Spring的配置文件
下面我们来用ContextLoaderListener和ApplicationContextAware接口来实现一个Springutil类,以后我们想在项目里面获取bean,
只需要调用Springutil中的getbean(String name)即可
配置好web.xml之后,接下来我们在Spring配置文件中装配Springutil
<bean id="springUtil" class="cn.belle.util.SpringUtil" />
这样web项目启动时就会装配Springutil类
package cn.belle.util;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class SpringUtil implements ApplicationContextAware {
private static ApplicationContext applicationContext;
/**
* 实现ApplicationContextAware接口的回调方法,设置上下文环境
*
* @param applicationContext
*/
public void setApplicationContext(ApplicationContext applicationContext) {
SpringUtil.applicationContext = applicationContext;
}
/**
* @return ApplicationContext
*/
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
/**
* 获取对象
* @param name
* @return Object
* @throws BeansException
*/
public static Object getBean(String name) throws BeansException {
return applicationContext.getBean(name);
}
}
这个类实现ApplicationContextAware接口,通过getBean就可获得所有的bean