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,一经查实,立即删除!

相关文章

mx linux安装方法,MX Linux是什么_MX Linux镜像下载-华为云

简介MX Linux是基于Debian稳定分支的面向桌面的Linux发行&#xff0c;它是antiX及早先的MEPIS Linux社区合作的产物。使用说明MX Linux的仓库地址为&#xff1a;https://repo.huaweicloud.com/mxlinux/MX Linux的镜像地址为&#xff1a;https://repo.huaweicloud.com/mxlinux-c…

Java中Map里put方法的返回值

在java中,Map里的put方法,如果key值不存在,则返回值是null,但是key值如果存在,则会返回原先被替换掉的value值.(当然,map中的key和value都允许是null). Map map new HashMap();Object obj null;obj map.put(null, null);System.out.println(obj); //nullobj map.put(null, …

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

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

重写hashcode和equals方法

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

linux 安装log4j,Log4j 安装

Log4j教程 - Log4j安装Log4j API包是根据Apache软件许可证分发的。最新的log4j版本&#xff0c;包括全源代码&#xff0c;类文件和文档可以在http://logging.apache.org/log4j/找到。我们可以从上面的链接下载apache-log4j-x.x.x.tar.gz或zip文件。支持库我们可以使用log4j将信…

input输入框只读的几种方式

input输入框只读的几种方式 **readonly&#xff1a;**只针对input(text / password)和textarea有效&#xff1b;如果设为true&#xff0c;用户只是不能编辑对应的文本&#xff0c;但是仍然可以聚焦焦点&#xff0c;并且在提交表单的时候&#xff0c;该输入项会作为form的一项提…

linux sql 语句菜鸟,Linux安装mysql

要在centos上安装mysql&#xff0c;这些知识还不是很了解&#xff0c;找了一些资料分享一下1、下载mysql-5.5.3-m3.tar.gz&#xff0c;并且解压.tar -xzvf mysql-5.1.36.tar.gz2、添加mysql组&#xff0c;新建mysql用户groupadd mysqluseradd -g mysql mysql3、进入目录cd mysq…

@Autowired注入为null的几种情况

1.在应用的Filter或Listener中使用了Autowired &#xff0c; 原因&#xff1a;因为Filter和Listener加载顺序优先于spring容器初始化实例&#xff0c;所以使用Autowired肯定为null了~~ 解决&#xff1a;用ApplicationContext根据bean名称&#xff08;注意名称为实现类而不是接…

约瑟夫环c语言程序完整版,C语言:约瑟夫环问题(源代码)

本帖最后由 geige 于 2015-7-26 00:48 编辑#include#includestruct stu //构建一个新的数据类型{int num;struct stu *next;};struct stu *createlist(int n); //函数声明int main(){struct stu *head,*p,*temp; //定义头指针&#xff0c;以及中间指针temp&#xff0c;用来删…

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

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

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

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

静态页面被拦截解决办法

在配置中央调度器的时候&#xff0c;url-pattern设置为*.do&#xff0c;以后的请求中写什么.do&#xff0c;不会出现静态页面被拦截的情况。 当url-pattern设置为/时&#xff0c;出现了静态页面被拦截 解决&#xff1a; 1.使用defaultServlet&#xff0c;在web.xml中的Dispatch…

c语言程序设计报告数制转换,数制转换-C语言程序设计课程设计报告.docx

计算机学院《高级语言程序设计》课程设计报告 PAGE \* MERGEFORMAT 10学号2016-2017学年 第二学期《C语言程序设计》课程设计报告题目&#xff1a;数制转换专业&#xff1a;网络工程(对口)班级&#xff1a;姓名&#xff1a;指导教师&#xff1a;成绩&#xff1a;计算机学院2017…

IDEA中maven的Plugins报红解决方法

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

ssm前端时间格式转换

1&#xff1a;在实体类加注解 DateTimeFormat(pattern"yyyy-MM-dd") private Date stime ;2&#xff1a;在前端页面引入jstl <% taglib uri"http://java.sun.com/jsp/jstl/fmt" prefix"fmt"%><table border"1px"><t…

标准C语言各种时间函数用法,使用c语言标准库中的时间函数

#include #include int main(void){time_t start, finish, now;struct tm *ptr;char *c, buf1[80];double duration;//记录程序开始的时间start time(0);//记录当前时间&#xff0c;以另一种方式调用time()time(&now);//将time_t值转换成tm类型的结构ptr localtime(&…

git credential manager for windows解决方法

换电脑之后因为git 账号问题修改了git账号密码&#xff0c;但问题出现了&#xff0c;每次都让输入账号密码&#xff0c;window的一遍&#xff0c;git的一遍。之后git设置可以保存密码&#xff0c;但window安全中心却每次都让输入密码解决方法。 一&#xff0c;保存 git 的密码…

冒泡排序c语言子程序,C语言之冒泡排序算法

一、搭建Zookeeper集群Zookeeper是一个分布式开源框架&#xff0c;提供了协调分布式应用的基本服务&#xff0c;它向外部应用暴露一组通用服务——分布式同步(DistributedSynchronization)、命名服务(NamingService)、集群维护(GroupMaintenance)等&#xff0c;简化分布式应用协…

sql语句中大于号、小于号、大于等于、小于等于号的写法

sql语句中大于号、小于号、大于等于、小于等于号的写法 第一种&#xff1a; <: < <: < >: > >: > sql如下&#xff1a; create_at > #{startTime} and create_at < #{endTime} 第二种&#xff1a; 大于等于: <![CDATA[ > ]]> 小于…

C语言挂载文件夹,使用autofs 按需挂载共享目录

23.6.1安装autofs通过如下命令检测autofs是否已经安装#rpm –q autofsautofs-5.0.1-0.rc2.88如果系统当前未安装autofs服务&#xff0c;可以通过系统安装光盘进行安装。23.6.2启动autofs服务#service autofs start关闭服务#service autofs stop查看autofs服务状态#service auto…