一、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
本文介绍两种Spring容器的加载方式:一种是在Web应用中通过ContextLoaderListener实现容器加载,并实现ApplicationContextAware接口来获取Bean;另一种是在普通程序中使用ClassPathXmlApplicationContext进行容器加载。
649

被折叠的 条评论
为什么被折叠?



