3. WebApplicationContext<o:p></o:p>
1) web.xml 中通过声明监听器接口 或servlet类加载
通过:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener-->
或:
<servlet>
<servlet-name>SpringContextServlet</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
Web 容器会自动加载 /WEB-INF/applicationContext.xml 初始化 ApplicationContex t实例;
也可以通过
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext-*.xml</param-value>
</context-param>
使 Web 容器加载指定名称路径的 Spring 配置文件。 <o:p></o:p>
我个人认为Listerner要比Servlet更好一些,因为Listerner监听应用的启动和结束,而Servlet得启动要稍微延迟一些,如果在这时要做一些业务的操作,启动的前后顺序是有影响的。
那么在ContextLoaderListener和ContextLoaderServlet中到底做了什么呢?
以ContextLoaderListener为例,我们可以看到
public void contextInitialized(ServletContextEvent event) {
this.contextLoader = createContextLoader();
this.contextLoader.initWebApplicationContext(event.getServletContext());
}
protected ContextLoader createContextLoader() {
return new ContextLoader();
}
ContextLoader是一个工具类,用来初始化WebApplicationContext,其主要方法就是initWebApplicationContext,我们继续追踪initWebApplicationContext这个方法(具体代码我不贴出,大家可以看Spring中的源码),我们发现,原来ContextLoader是把WebApplicationContext(XmlWebApplicationContext是默认实现类)放在了ServletContext中,ServletContext也是一个“容器”,也是一个类似Map的结构,而WebApplicationContext在ServletContext中的KEY就是WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE,我们如果要使用WebApplicationContext则需要从ServletContext取出,Spring提供了一WebApplicationContextUtils类,可以方便的取出WebApplicationContext,只要把ServletContext传入就可以了。 <o:p></o:p>
<o:p> </o:p>
分享到:
相关推荐
浅谈SpringBoot2.4 配置文件加载机制大变化 Spring Boot 2.4 中的配置文件加载机制发生了重大变化,这些变化将影响到应用程序的配置文件加载方式。下面是相关知识点的详细介绍: 一、为什么要进行这些更改 随着...
ASP.NET Core配置文件加载过程是理解应用程序如何读取和处理设置的关键部分。在这个过程中,`.NET Core` 使用 `Microsoft.Extensions.Configuration` 框架来管理配置。本文将深入探讨 ASP.NET Core 中配置文件的加载...
在本文中,我们将深入探讨如何在WPF(Windows Presentation Foundation)应用中利用C#和XML技术,根据XML配置文件动态加载DataGrid列。这一方法提高了应用程序的灵活性,使得用户界面的调整无需更改代码,只需简单...
"loadcf-python配置文件加载器"是一个专门用于处理这种任务的库,它简化了从各种格式(如JSON、YAML、INI等)加载配置的过程。这个库的目标是提供一个简单易用、功能丰富的接口,让开发者能够轻松地集成配置管理到...
springboot 的配置文件加载顺序 https://blog.csdn.net/dearmite/article/details/131045230 本系列校训 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞!N年苦学无人...
加载src目录下的properties配置文件 加载src目录下的properties配置文件是Java开发中一个非常重要的知识点。 Properties文件是一种配置文件格式,用于存储应用程序的配置信息。在Java应用程序中,Properties文件...
在您的项目中,`mytest.c`是一个示例程序,演示了如何使用增强后的cJSON库来加载和解析包含十六进制数的配置文件。入口函数`void test()`可能是用来初始化和执行整个测试流程的关键点。在这个函数中,你可能会先创建...
了解Struts2配置文件的加载顺序对于优化应用性能和解决配置问题至关重要。 Struts2的配置主要分布在以下几个文件中: 1. **struts-default.xml**:这是Struts2的核心配置文件,位于`struts2-core.jar`库的`/org/...
配置文件加载类 就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。.
SpringBoot内部外部配置文件加载顺序解析 SpringBoot框架中,配置文件的加载顺序是一个非常重要的topic。了解配置文件的加载顺序,可以帮助我们更好地管理和使用配置文件,提高项目的可维护性和可扩展性。 首先,...
总结起来,通过将配置文件加载到Properties集合中,我们可以方便地管理和使用运行时的配置信息。实现接口并利用多态则让代码更具灵活性和可扩展性,降低程序的耦合度,提高了维护效率。这两个实践在实际开发中都是不...
配置文件加载类 就是读取资源属性文件(properties),然后根据.properties文件的名称信息(本地化信息),匹配当前系统的国别语言信息(也可以程序指定),然后获取相应的properties文件的内容。
go-smart-config这是一个【零配置】的配置文件加载模块和命令行参数处理模块
本知识点将深入探讨如何在C# WinForm应用中通过配置文件来实现DLL的动态加载。 首先,我们需要理解配置文件的作用。配置文件(如app.config或web.config)用于存储应用程序的设置,如数据库连接字符串、服务端口等...
总结来说,C# WinForm通过配置文件动态加载DLL的关键步骤包括:读取配置文件中的DLL路径,使用`Assembly.LoadFrom`加载DLL,通过反射获取并实例化DLL中的类,最后调用类的方法执行功能。这种方法提高了代码的可维护...
在Java编程中,加载配置文件是一项常见的任务,它允许我们动态地设置应用的参数和环境,而无需修改代码。配置文件通常以.properties或.xml格式存储,包含键值对或者结构化数据,使得程序可以根据不同环境或者用户...
配置文件加载机制 - **配置文件简介**:在Windows操作系统中,每个用户都有一个独特的配置文件,存储着用户的个性化设置、桌面布局等信息。当用户登录时,系统会加载相应的配置文件,确保用户界面和设置符合个人...
4. **自定义配置文件加载**: 要加载自己的Log4j配置文件,可以在Java代码中指定配置文件路径,例如使用`PropertyConfigurator.configure("path/to/config/file.properties")`,或者在类路径下放置名为`log4j....
2. **配置文件加载** - Spring Boot会自动扫描`src/main/resources`下的`application.properties`或`application.yml`文件。 - 使用`spring.config.location`属性可以指定额外的配置文件位置,例如:`--spring....
标题和描述中提到的问题是“Windows XP系统不能加载本地储存的配置...通过上述步骤,大多数情况下可以解决配置文件加载失败的问题。然而,如果问题复杂,建议寻求专业人员的帮助,以避免可能的数据损失或更严重的问题。