Spring与Web环境集成

Spring与Web环境集成

Spring与Web环境集成


 

1. ApplicationContext应用上下文获取方式

应用上下文对象是通过 new ClassPathXmlApplicationContext(Spring配置文件) 方式获取的,但是每次从容器中获取Bean时都要编写 new ClassPathXmlApplicationContext(Spring配置文件),这样的弊端是配置文件加载多次,应用上下文对象创建多次。

 

在Web项目中,可以使用ServletContextLIstener监听Web应用的启动,我们可以在Web应用启动时,就加载Spring的配置文件,创建应用上下文对象ApplicationContext,再将其存储到最大的域servletContext域中,这样就可以在任意位置获取应用上下文ApplicationContext对象。

 

2. 创建案例

1、创建监听器

 package com.ntect.listener;
 ​
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.support.ClassPathXmlApplicationContext;
 ​
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
 import javax.servlet.ServletContextListener;
 ​
 public class ContextLoaderListener implements ServletContextListener {
     public void contextInitialized(ServletContextEvent sce) {
 ​
         ServletContext servletContext = sce.getServletContext();
         //读取web.xml中的全局参数
         String contextConfigLocation = servletContext.getInitParameter("contextConfigLocation");
         ApplicationContext app = new ClassPathXmlApplicationContext(contextConfigLocation);
         //将Spring的应用上下文对象存储到ServletContext域中
 ​
         servletContext.setAttribute("app",app);
         System.out.println("spring容器创建完毕....");
     }
 ​
     public void contextDestroyed(ServletContextEvent sce) {
 ​
     }
 } 
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Spring与Web环境集成