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 小时前
都能接模型、RAG 和 MCP,Java Agent 框架到底差在哪?
java
Thinker QAQ4 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
霸道流氓气质6 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python
AOI小白新手上路6 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
dishugj7 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言
苜蓿muxu8 小时前
常用代码命名规范
java
马优晨8 小时前
JAVA 中 VO 实体类是什么意思,为什么要做这个
java·开发语言·状态模式·java vo·java vo是什么
Baron X8 小时前
Eclipse Temurin 21 (JRE) Alpine 镜像获取、离线导入与推送操作
java·docker·eclipse·temurin
孙浩君8 小时前
我用 Spring Boot + xterm.js 写了个终端风格互动叙事游戏引擎:游戏即文件,上传一个 JSON 就能玩
java