`
liyixing1
  • 浏览: 961876 次
  • 性别: Icon_minigender_1
  • 来自: 江西上饶
社区版块
存档分类
最新评论

Spring资源或者配置文件加载

阅读更多

Spring IoC容器可以通过多种途径来加载配置元数据,比如本地文件 系统、Java CLASSPATH等。

ApplicationContext在WEB应用中的实例化

与BeanFactory通常以编程的方式被创建不同的是,ApplicationContext能以声明的方式创建,如使用ContextLoader。当然你也可以使用ApplicationContext的实现之一来以编程的方式创建ApplicationContext实例。首先,让我们先分析ContextLoader接口及其实现。

ContextLoader机制有两种方式,ContextLoaderListener 和ContextLoaderServlet,他们功能相同但是listener不能在Servlet2.3容器下使用。Servlet2.4规范中servlet context listeners需要在web应用启动并能处理初始请求时立即运行。(servlet context listener关闭的时候也是相同的)。servlet context listener是初始化Spring ApplicationContext理想的方式。你可能愿意选择ContextLoaderListener,虽然是一样的,但决定权在于你。你可以查看ContextLoaderServlet的Javadoc来获得更详细的信息。

可以象下面所示例的一样使用ContextLoaderListener注册一个ApplicationContext

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/daoContext.xml /WEB-INF/applicationContext.xml</param-value>
</context-param>

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

<!-- or use the ContextLoaderServlet instead of the above listener
<servlet>
  <servlet-name>context</servlet-name>
  <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
-->
监听器首先检查contextConfigLocation参数,如果它不存在,它将使用/WEB-INF/applicationContext.xml作为默认值。如果已存在,它将使用分隔符(逗号、冒号或空格)将字符串分解成应用上下文件位置路径。可以支持ant-风格的路径模式,如/WEB-INF/*Context.xml(WEB-INF文件夹下所有以"Context.xml"结尾的文件)。或者/WEB-INF/**/*Context.xml(WEB-INF文件夹及子文件夹下的以"Context.xml"结尾的文件)。

ContextLoaderServlet同ContextLoaderListener一样使用'contextConfigLocation'参数。
分享到:
评论

相关推荐

    Spring动态加载配置文件

    在Spring框架中,动态加载配置文件是一项重要的功能,它使得开发者在开发过程中无需重启应用就能实时更新配置,极大地提高了开发效率。热部署方案是这一功能的具体应用,它允许我们在不中断服务的情况下,对应用程序...

    Spring中使用classpath加载配置文件浅析

    如果存在同名的配置文件,但位于不同的位置,根据Spring加载类路径资源的策略,可能会加载到一个错误的文件。为了避免这种情况,开发者需要仔细设计自己的目录结构,并确保配置文件的命名和位置唯一,以避免冲突。 ...

    如何加载jar包中的spring配置文件

    在Spring MVC项目中,加载jar包中的Spring配置文件是一个常见的需求,特别是在进行SSM(Spring、Spring MVC、MyBatis)整合时。SSM框架的整合通常涉及到多个配置文件的组织和管理,其中一部分配置可能会被打包到独立...

    Spring 加载多个配置文件

    除了直接通过 ApplicationContext 或者 ContextLoaderListener 加载配置文件,还可以在现有的 XML 配置文件中使用 `&lt;import&gt;` 标签导入其他的配置文件。这种方式允许开发者在主配置文件中引用其他辅助配置文件,...

    加载jar包中的spring配置文件

    当我们构建一个基于Spring的应用时,经常需要从jar包中加载配置文件,以便管理依赖注入和其它服务。在Spring中,我们通常使用`classpath:`或`classpath*:`前缀来指定资源的位置。这两个前缀在处理多个类路径位置时有...

    spring读取jar中的配置文件

    在处理JAR内的配置文件时,通常会使用`@PropertySource`注解来指示Spring从特定资源加载属性。例如: ```java @Configuration @PropertySource("classpath:/config/application.properties") public class ...

    Spring读取配置文件原理(Spring如何依赖注入的)

    1. 加载XML文件:通过`Resource`接口加载指定的XML配置文件,`ClassPathResource`是常用的实现类,可以从类路径中加载资源。 2. 解析XML:使用`DocumentBuilder`解析XML文档,获取DOM树。 3. 遍历DOM树:`...

    spring 所有包和配置文件

    在"spring 所有包和配置文件"这个主题中,我们将深入探讨Spring框架的主要组件、配置文件以及它们如何协同工作。 首先,Spring框架的核心在于它的容器,主要有两种:BeanFactory和ApplicationContext。BeanFactory...

    Spring 3.1配置文件示例(备忘)

    最后,资源加载是 Spring 中的一个重要方面,它允许我们在配置文件中声明并加载外部资源,如数据库连接、文件、JMS 队列等。例如,通过 `&lt;context:property-placeholder&gt;` 可以加载属性文件: ```xml ``` 综上所...

    Spring Junit单元测试加载配置文件失败问题

    Spring Junit单元测试加载配置文件失败问题解决方法 在软件开发过程中,单元测试是一个非常重要的步骤,它可以帮助开发者检测代码中的错误、提高代码的可靠性和稳定性。Spring Junit是一个常用的单元测试框架,它...

    Java 加载配置文件的方式

    如果你的项目中使用了Spring框架,那么可以利用其强大的资源管理能力来加载配置文件。Spring支持.properties、.xml甚至.yaml或.yml格式的配置文件。例如,对于.properties文件: ```java @Configuration @...

    Spring4 jar包和Spring配置文件

    - `spring-context.jar`:扩展了Core Container,提供了国际化、事件传播、资源加载等功能。 - `spring-core.jar`:Core支持,包括核心工具类和IoC容器基础。 - `spring-expression.jar`:Spring表达式语言(SpEL)...

    spring boot中配置mybatis热加载相关文件

    创建一个配置类,继承`org.springframework.boot/autoconfigure/mybatis/MybatisAutoConfiguration`,然后重写`mapperLocations`方法,引入上面配置文件中的路径,以实现XML文件的热加载。例如: ```java @...

    spring boot中配置mybatis热加载.zip

    下面将详细介绍如何在Spring Boot中配置MyBatis以实现XML资源文件的热加载。 首先,我们需要在Spring Boot项目的`pom.xml`或`build.gradle`文件中添加MyBatis和其Spring Boot starter的依赖。如果是Maven项目,添加...

    spring 启动时加载不同的文件

    ### Spring启动时根据配置文件加载不同文件的知识点详解 #### 一、背景介绍 在实际的应用开发中,根据运行环境的不同(例如开发环境、测试环境、生产环境等),应用程序往往需要连接不同的数据库或其他资源。为了...

    spring boot加载第三方jar包的配置文件的方法

    在主配置类或者任何Spring Bean定义类上添加这个注解,并指定XML配置文件的位置。例如,如果第三方jar包中的配置文件是`quartz.xml`,我们可以这样写: ```java package com.chhliu.springboot.config; import ...

    加载spring 文件,在web.xml中的配置

    当我们谈论“加载Spring文件,在web.xml中的配置”时,主要是指如何在Web应用启动时初始化Spring IoC(Inversion of Control,控制反转)容器并加载配置文件。 1. **使用ContextLoaderListener** `&lt;listener&gt;`标签...

    Spring Boot 全局懒加载机制.docx

    Spring Boot 2.2及更高版本引入了一个全局懒加载机制,允许用户通过配置开启整个应用的bean懒加载,以优化启动时间和资源利用。 在传统的Spring应用中,我们可以通过在bean定义上添加`@Lazy`注解来实现单个bean的懒...

    Spring+SpringMVC配置加载顺序1

    Spring 和 SpringMVC 的配置加载顺序是理解这两个框架协同工作的重要方面。首先,DispatcherServlet 是 SpringMVC 的核心组件,它扮演着请求分发者的角色,确保请求被正确地路由到相应的处理器。DispatcherServlet ...

Global site tag (gtag.js) - Google Analytics