Spring集成Web环境

Spring集成Web环境

1.ApplicationContext应用上下文的获取

应用上下文对象是通过 new ClasspathXmlApplication(spring配置文件)方式获取,

每次从Spring容器中获取都要编写 new ClasspathXmlApplication这样会导致配置

文件加载多次,应用上下文对象创建多次。

Web项目中使用ServletContextListener 监听Web应用的启动,这样就可以在启动

Web项目时候就加载Spring的配置文件,创建应用上下文对象Application,并且将其

存储到最大域servletContext域中,这样就可以在任意位置从域中获得ApplicaitonContext

应用上下文对象。

2. Spring提供获取应用上下文的工具

Spring提供了一个监听器ContextLoadListener是对上述功能的封装,该监听器内部加载

Spring配置文件,创建应用上下文对象,并将其存储到ServletContext域中,还提供了一

个客户端工具WebApplicationContextUtils供使用者获取应用上下文对象

使用步骤:

  1. 在Web.xml中配置ContextLoaderListener监听器(导入spring-web)坐标
  2. 使用WebApplicaitonContextUtils获取应用上下文对象ApplicationContext

3.导入Spring集成web的坐标

xml 复制代码
<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-web</artifactId>
	<version>5.0.5.RELEASE</version>
</dependency>

4.配置ContextLoaderListener监听器

xml 复制代码
<!--全局参数-->
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--Spring的监听器-->
<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

5.获取应用上下文对象

java 复制代码
ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(servletContext);
Object obj = applicationContext.getBean("id");
相关推荐
黑马程序员毕设3 小时前
基于Java的医院药品管理系统的优化设计与实现
java·开发语言·spring boot·小程序·架构·课程设计·毕设
木井巳3 小时前
【BFS/DFS 解决 FloodFill 算法】太平洋大西洋水流问题
java·算法·leetcode·深度优先·广度优先·宽度优先·推荐算法
白山编程大哥3 小时前
Java 集合算法:从排序、查找到底层原理的实战指南
java·python·算法
devpotato3 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
xcl09254 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·spring boot·需求分析
Kyrie_kk4 小时前
Java--IO--Path文件访问
java·后端
qinqinzqq4 小时前
Maven POM 格式、Schema 与 XSD:一篇讲透
java·maven
wxwx_bscxy3224 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
o盟4 小时前
maven本地仓库有 总是去私仓中下载
java·maven·intellij-idea
devpotato4 小时前
Java 批量并发请求:从“能并发“到“结果按完成顺序可用“的三种写法与选型
java