`
柴秉承
  • 浏览: 87516 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

Spring加载配置文件时 classpath* 和 classpath的区别

阅读更多

Spring可以通过指定classpath*:与classpath:前缀加路径的方式从classpath加载文件,如bean的定义文件.classpath*:的出现是为了从多个jar文件中加载相同的文件.classpath:只能加载找到的第一个文件.

比如 resource1.jar中的package 'com.test.rs' 有一个 'jarAppcontext.xml' 文件,内容如下:

<bean name="ProcessorImplA" class="com.test.spring.di.ProcessorImplA" />

resource2.jar中的package 'com.test.rs' 也有一个 'jarAppcontext.xml' 文件,内容如下:

<bean id="ProcessorImplB" class="com.test.spring.di.ProcessorImplB" />

通过使用下面的代码则可以将两个jar包中的文件都加载进来

ApplicationContext ctx = new ClassPathXmlApplicationContext(
                "classpath*:com/test/rs/jarAppcontext.xml");

而如果写成下面的代码,就只能找到其中的一个xml文件(顺序取决于jar包的加载顺序)

ApplicationContext ctx = new ClassPathXmlApplicationContext(
                "classpath:com/test/rs/jarAppcontext.xml");

classpath*:的使用是为了多个component(最终发布成不同的jar包)并行开发,各自的bean定义文件按照一定的规则:package+filename,而使用这些component的调用者可以把这些文件都加载进来.

classpath*:的加载使用了classloader的 getResources() 方法,如果是在不同的J2EE服务器上运行,由于应用服务器提供自己的classloader实现,它们在处理jar文件时的行为也许会有所不同。 要测试 classpath*: 是否有效,可以用classloader从classpath中的jar文件里加载文件来进行测试: getClass().getClassLoader().getResources("<someFileInsideTheJar>") 。(上面的例子是在sun的jre中运行的状态)

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kkdelta/archive/2010/04/20/5507799.aspx

分享到:
评论

相关推荐

    浅析Spring配置中的classpath:与classpath*:的区别

    3. 程序部署到 Tomcat 后,src 目录下的配置文件会和 class 文件一样,自动 copy 到应用的 WEB-INF/classes 目录下;classpath: 与 classpath*: 的区别在于,前者只会从第一个 classpath 中加载,而后者会从所有的 ...

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

    在Spring加载配置文件时,我们需要注意几个关键点: 1. **不使用通配符**:当配置文件路径不包含通配符时,Spring会直接定位到指定的文件。例如: - 当配置文件直接放置在应用的bin目录下的conf文件夹内时,上述...

    加载jar包中的spring配置文件

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

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

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

    Spring 加载多个配置文件

    - `ClassPathXmlApplicationContext`:从类路径(CLASSPATH)中加载配置文件。 - `FileSystemXmlApplicationContext`:从文件系统的当前路径加载配置文件。 具体实现时,可以通过构造函数传入一个包含所有配置文件...

    Spring动态加载配置文件

    在Spring框架中,动态加载配置文件是一项重要的功能,它允许我们在程序运行时改变或更新配置,而无需重启应用。这在开发和生产环境中都具有很高的实用价值,尤其是在配置需要频繁调整或者希望实现热更新的场景下。...

    spring加载多个配置文件

    在Spring框架中,加载多个配置文件是常见的需求,特别是在大型项目中,为了保持代码的整洁和模块化,通常会将不同的配置分散到多个文件中。本文将深入探讨如何在Spring中实现这一功能。 首先,Spring提供了多种方式...

    Spring中如何加载多个配置文件.pdf

    #### 二、使用通配符加载配置文件 第二种方式是利用通配符(如“*”)来匹配并加载一组配置文件。这种方式特别适用于需要动态加载一类配置文件的场景,比如当有新的配置文件加入时,不需要修改Java代码即可自动加载...

    Spring3.0 配置文件中加载Properties文件的小例子

    本篇将详细讲解如何在Spring 3.0的配置文件中加载Properties文件,以便在运行时动态获取和使用这些配置。 首先,我们需要一个Properties文件,例如`application.properties`,它通常放在项目的类路径根目录下。这个...

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

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

    Spring Boot多模块配置文件读取

    在Spring Boot应用中,多模块配置文件的读取是一个重要的实践,它有助于提高代码的可维护性和模块化。本文将详细探讨如何在Spring Boot的多模块项目中管理和使用不同的配置文件,以实现低耦合的设计。 首先,了解...

    spring读取配置文件

    本篇文章将深入探讨如何在Spring中读取不同目录下的配置文件,以及使用`ClassPathXmlApplicationContext`和`FileSystemXmlApplicationContext`这两种不同的上下文环境来加载它们。 首先,让我们了解`...

    spring 启动时加载不同的文件

    动态加载配置文件** - **目的**: 根据部署环境的不同,动态地更改应用使用的配置文件,从而实现环境间的灵活切换。 - **实现方式**: 通过扩展`PropertyPlaceholderConfigurer`并重写其方法,根据特定条件选择加载...

    spring boot加载资源路径配置和classpath问题解决

    Spring Boot加载资源路径配置和Classpath问题解决 Spring Boot加载资源路径配置是指在Spring Boot应用程序中,如何正确地加载资源文件的路径配置。资源文件是指项目中需要加载的文件,如配置文件、模板文件、类...

    spring-boot中文参考指南

    - **Profile特定配置文件**:根据不同profile加载不同配置。 - **日志**: - **日志格式**:设置日志输出格式。 - **控制台输出**:配置日志在控制台的输出。 - **文件输出**:配置日志写入文件。 - **日志级别...

    让spring加载自己的properties配置文件,在代码中获得配置信息

    加载配置文件后,我们可以通过`@Value`注解或`Environment`接口来获取配置信息: 1. **@Value注解**:可以直接在字段或方法参数上使用`@Value`注解,Spring会自动注入对应的值。例如: ```java @Component ...

    Spring Boot加载配置文件的完整步骤

    5. 加载配置文件时,Spring Boot会从多个来源中加载配置文件,然后将其合并成一个完整的配置对象。 配置文件的优先级 Spring Boot加载配置文件时,会根据来源的优先级顺序来确定配置文件的优先级。命令行参数的...

    Java 加载配置文件的方式

    在Java编程中,加载配置文件是一项常见的任务,它允许我们动态地设置应用的参数和环境,而无需修改代码。配置文件通常以.properties或.xml格式存储,包含键值对或者结构化数据,使得程序可以根据不同环境或者用户...

    spring读取jar中的配置文件

    Spring支持多种方式加载配置,包括XML、Java配置类和属性文件。在处理JAR内的配置文件时,通常会使用`@PropertySource`注解来指示Spring从特定资源加载属性。例如: ```java @Configuration @PropertySource(...

    【SpringBoot探索三】添加配置文件参考案例

    这里我们将深入讲解Spring Boot中的配置文件、其加载机制、配置属性、以及使用Java配置和YAML格式的细节。 1. **配置文件**: Spring Boot支持两种类型的配置文件:`application.properties`和`application.yml`。...

Global site tag (gtag.js) - Google Analytics