1、将spring的相关jar包,拷贝到web应用的WEB-INF/lib目录下
2、修改web.xml,让应用服务器自动加载spring的BeanFactory对象
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3、在web组件里,可以使用WebApplicationContextUtils工具类来
获得BeanFactory对象的实例,拥有了BeanFactory对象,就拥有
了spring的容器管理的能力。
解释:
这种配置的结果是,spring通过ContextLoaderListener将WebApplicationContext对象
(BeanFactory的子类)放入ServletContext中,并取名为一个静态变量的值:
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
* 通过WebApplicationContextUtils.getApplicationContext()方法就可以获得WebApplicationContext
对象的值
* 或者通过request.getSession().getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
文章引用自:
2、修改web.xml,让应用服务器自动加载spring的BeanFactory对象
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml,classpath*:applicationContext-*.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
3、在web组件里,可以使用WebApplicationContextUtils工具类来
获得BeanFactory对象的实例,拥有了BeanFactory对象,就拥有
了spring的容器管理的能力。
解释:
这种配置的结果是,spring通过ContextLoaderListener将WebApplicationContext对象
(BeanFactory的子类)放入ServletContext中,并取名为一个静态变量的值:
WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE
* 通过WebApplicationContextUtils.getApplicationContext()方法就可以获得WebApplicationContext
对象的值
* 或者通过request.getSession().getServletContext().getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
文章引用自: