Spring初始化:org.springframework.we...ContextLoaderListener的作用

Spring初始化:org.springframework.web.context.ContextLoaderListener的作用

在web.xml种这样配置

    <listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>   </listener>

ContextLoaderListener的作用就是启动Web容器时,自动装配
ApplicationContext.xml的配置信息。因为它实现了ServletContextListener这个接口,在web.xml配置这个监听器,启动容器时,就会默认执行它实现的方法。

applicationContext的默认的路径是”/WEB-INF/applicationContext.xml。也可以在web.xml中配置该文件的其他位置,配置如下:

<context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value>
</context-param>    

以下是详解

org.springframework.web.context.ContextLoaderListener类实现了javax.servlet.ServletContextListener接口。ServletContextListener接口能够监听ServletContext对象的生命周期,因为每个web应用仅有一个ServletContext对象,故实际上该接口监听的是整个web应用。

实现该接口的类在web.xml中作为监听器配置后,当web应用启动后,会触发ServletContextEvent事件,调用ContextLoaderListener的contextInitialized(ServletContextEvent sce)方法。
在这里插入图片描述
ContextLoaderListener通过一个ContextLoader对象来初始化Spring容器。在contextInitialized方法中调用contextLoader.initWebApplicationContext(event.getServletContext())。

ContextLoader类的initWebApplicationContext方法即可返回一个WebApplicationContext对象context。并通过servletContext.setAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE, context)将WebApplicationContext对象放置在ServletContext对象中。initWebApplicationContext方法通过调用以下方法实例化并设置WebApplicationContext对象。
在这里插入图片描述

因此可以通过WebApplicationContextUtils.getWebApplicationContext(ServletContext sc)获取WebApplicationContext。内部实现是通过servletContext对象查找该对象,属性名为WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE。

这篇博文也算是对自己有很多帮助,希望对你有些帮助

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/557785.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux统一编程接口,restful接口设计规范总结

一、重要概念&#xff1a;REST,即Representational State Transfer的缩写。我对这个词组的翻译是"表现层状态转化"。Resource(资源) &#xff1a;对象的单个实例。 例如&#xff0c;一只动物。它可以是一段文本、一张图片、一首歌曲、一种服务&#xff0c;总之就是一…

重写hashcode和equals方法

一。前言 我们都知道&#xff0c;要比较两个对象是否相等时需要调用对象的equals()方法&#xff0c;即判断对象引用所指向的对象地址是否相等&#xff0c;对象地址相等时&#xff0c;那么与对象相关的对象句柄、对象头、对象实例数据、对象类型数据等也是完全一致的&#xff0…

js中遇到的一个错误Uncaught SyntaxError: missing )after argument list

报的错误如下&#xff1a; 代码&#xff1a; 解决&#xff1a; 加上引号即可。

c语言第六次实验报告,第一年C语言实验报告6列

成都理工大学计算机工程学院“编程基础”实验报告1. 实验目的(1)精通一维数组. 二维数组的定义&#xff0c;初始化以及输入和输出方法(2)掌握字符数组和字符串函数的使用(3)掌握与数组有关的常用算法2. 实验内容(1)在给定的字符串中找到指定的字符&#xff1b;要求:①通过直接初…

IDEA中maven的Plugins报红解决方法

IDEA中maven的Plugins报红解决方法 Idea中maven的Plugins报红解决方法 我的maven项目中plugins下的所有文件都报红&#xff0c;查看报错&#xff0c;这是Maven中plugins没有存入本地的仓库&#xff0c;点击Settings查看Build&#xff0c;Execution…》》Build Tools》》Maven》…

JavaScript 中的 window onload 应该什么时候写

JavaScript 中的 window onload 应该什么时候写 1. 页内式 JS 代码 1.1 页内式 JS 代码写在 head 内部 如果 script 标签写在 head 标签内部&#xff0c;则位于 body 内的元素将晚于 JS 代码加载&#xff0c;那么其中一些获取 DOM 元素的方法将无法取得元素&#xff08;返回 …

android歌词效果,自定义View:Android歌词控件

TicktockMusic 音乐播放器项目相关文章汇总&#xff1a;简介之前做 TicktockMusic 音乐播放器&#xff0c;一个必要的需求肯定是歌词&#xff0c;在 github 上找了几个&#xff0c;发现或多或少都有点不满足需求&#xff0c;所以就自己动手写了一个&#xff0c;本篇文章主要介绍…

IDEA项目中 target 目录的作用

IDEA项目中 target 目录的作用 target是idea默认的编译路径&#xff0c;用来存放项目的&#xff1a;文件和目录、jar包、war包、class文件等。

bc8android汽车中控屛功能有哪些,丰田酷路泽中控台的8大功能 你们知道都是干什么用的?...

兰德酷路泽(参数|图片)中控台的8大功能 ①&#xff1a;高低速四驱调节高低速四驱调节系统&#xff0c;有着两个方向&#xff0c;L4和H4H4&#xff0c;指的是高速四驱&#xff0c;开启H4的时候适合走沙石路面&#xff0c;泥泞路面&#xff0c;雪地&#xff0c;沙石地等。最高车速…

微服务和分布式的区别

微服务和分布式的区别 1.分布式 将一个大的系统划分为多个业务模块&#xff0c;业务模块分别部署到不同的机器上&#xff0c;各个业务模块之间通过接口进行数据交互。区别分布式的方式是根据不同机器不同业务。 上面&#xff1a;service A、B、C、D 分别是业务组件&#xff…

android studio break,Android Studio IDE: Break on Exception

可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效&#xff0c;请关闭广告屏蔽插件后再试):问题:It seems my Android Studio does not want to break on any exception by default. Enabling break on "Any Exception" starts breaking within act…

php查到的内容追加到html,javascript - 请问php中如何将查询出来的结果数组转化成自己想要的格式,并在前台利用js输出到html中...

考试类型的表jx_exam_type&#xff0c;可后台添加内容考试成绩的表jx_result&#xff0c;可后台添加内容期中考试成绩表中的exam_id对应考试类型表中的id&#xff0c;也就是添加的成绩是属于期中还是期末然后使用php查询$sql"SELECT re.type, re.score, re.exam_id, et.ti…

springboot页面中静态图片路径

目录结构&#xff1a; 不写th:src"{/images/a.jpeg}"是访问不到的

html字居右垂直设置,css文字水平垂直居中怎么设置?

css文字水平垂直居中怎么设置&#xff1f;下面本篇文章就来给大家介绍使用CSS设置文字水平居中和垂直居中的方法。有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对大家有所帮助。1、文字水平居中在CSS中想要让文字水平居中&#xff0c;可以使用text-a…

计算机主机声音怎么办,电脑主机声音大怎么解决 电脑主机嗡嗡响是怎么回事...

如果你经常使用电脑&#xff0c;那么主机声音大的情况你肯定遇到过&#xff0c;这就是电脑老化的表现&#xff0c;说明主机内部有了很多灰尘&#xff0c;如果平时没有注意保养&#xff0c;那么就会早主机声音很大的问题&#xff0c;怎么解决呢?很简单&#xff0c;清理主机吧&a…

计算机组成原理知识点白中英,计算机组成原理重点整理(白中英版) 考试必备

计算机组成原理重点整理(白中英版) 考试必备 一、 浮点存储&#xff1a;1&#xff0e;若浮点数 x 的 754 标准存储格式为(41360000)16&#xff0c;求其浮点数的十进制数值。解&#xff1a;将 16 进制数展开后&#xff0c;可得二制数格式为0 100 00010 011 0110 0000 0000 0…

注解@Slf4j的使用

注解Slf4j的使用 声明:如果不想每次都写private final Logger logger LoggerFactory.getLogger(当前类名.class); 可以用注解Slf4j; 1.使用idea首先需要安装Lombok插件; 2.在pom文件加入lombok的依赖 <dependency><groupId>org.projectlombok</groupId>&…

周昆 浙江大学计算机学院院长,浙江大学周昆教授来校作学术报告

校园网讯 10月30日上午&#xff0c;教育部长江学者特聘教授、国家杰出青年科学基金获得者、IEEE Fellow、浙江大学计算机辅助设计与图形学国家重点实验室主任、博士生导师周昆教授应邀来我院作题为“智能图形学&#xff1a;智能时代计算机图形学的机遇和挑战”的学术报告&#…

拦截器原理多个拦截器执行顺序

拦截器原理多个拦截器执行顺序 1、根据当前请求&#xff0c;找到**HandlerExecutionChain【可以处理请求的handler以及handler的所有 拦截器】 2、先来顺序执行 所有拦截器的 preHandle方法 1、如果当前拦截器prehandler返回为true。则执行下一个拦截器的preHandle2、如果当…

用户zabbix@localhost的访问被拒绝(使用密码:yes)_Coinbase意外地保存了3420个客户的未加密密码...

主要加密平台Coinbase已向3,420名Coinbase用户发送电子邮件&#xff0c;披露用户注册时发生的事故。显然&#xff0c;一些注册细节以明文形式存储在Coinbase内部服务器的日志中&#xff0c;受影响的客户现在需要更改密码。Coinbase于8月16日在官方博客上宣布了这一消息。根据声…