一、web应用
1、在应用启动同时加载Spring容器,在web.xml加上以下信息:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:conf/applicationContext.xml</param-value>
</context-param>
2、新建一个类实现ApplicationContextAware接口:
package com.spring.util;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
public class SpringContextUtil implements ApplicationContextAware {
private static ApplicationContext context = null;
@Override
public void setApplicationContext(ApplicationContext applicationContext)
throws BeansException {
context = applicationContext;
}
public static Object getBean(String name){
return context.getBean(name);
}
}
3、在applicationContext.xml中添加以下信息:
<bean id="springContextUtil " class="com.spring.util.SpringContextUtil "></bean>
Spring加载时,会调用SpringContextUtil中的setApplicationContext方法,从而得到上下文,在代码中就可以通过SpringContextUtil的getBean方法。
二、普通的程序,通过ClassPathXmlApplicationContext对Spring容器进行加载,在代码启动处加上:
new ClassPathXmlApplicationContext("classpath:conf/applicationContext.xml");
重复上面步骤2和3