org.springframework.core.io.supportClassPathMatchingResourcePatternResolver
org.springframework.utilClass AntPathMatcher
所有的配置官方说明请参照这两个类
在web.xml配置spring的配置文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>这里写路劲</param-value>
</context-param>
首先上几种写法(这个是spring的api复制的)
1. /WEB-INF/*-context.xml
2. com/mycompany/**/applicationContext.xml
3. file:C:/some/path/*-context.xml
4. classpath:com/mycompany/**/applicationContext.xml
这些路径看起来很乱有木有
这里要说明一点,不要以为路径中的匹配符号是正则表达式(开始我是这样想的),这些符号的完整定义
----------------------------------------------------------------------
? 匹配一个任意字符 aa? 可以匹配 aa1 aab 但是不能匹配aa
* 匹配零个或者多个字符 aa* 可以匹配 aa1 aab aa aaa
** 两个**不要以为是上面那个* 写两个的意思。 它的意思是匹配任意个路径 aa/**/bb 可以匹配aa/b/c/bb aa/bb
aa 和bb之间可以个任意目录
----------------------------------------------------------------------
1.会查找到WEB-INF目录下的以"-context.xml"结尾的文件 在WEB-INF下的 a-context.xml b-context.xml都会被找到
2.com/mycompany/目录下所有的applicationContext.xml都会被找到
3.file 表示会根据文件系统的路径查找 这个条会找到 c盘下的/some/path目录以"-context.xml"的文件都会被找到
4.查找classpath下的com/mycompany/包中所有子包的applicationContext.xml文件
这个东西却是搞的有点复杂了。
完了吗 ? 还没有 还有 classpath*
classpath*:applicationContext.xml classpath:applicationContext.xml
区别是神马?classpath还有classpathaa或者classpathbb 不会呀,java只有classpath,那,那个*是神马意思。。。。
好吧我告诉你
classpath*中的*并非 匹配零或者多个字符的那个* (太乱了有木有)
classpath*是一种特殊的表示方法 ,它告诉spring找配置文件的时候WEB-INF/LIB中的jar文件也要找
classpath*:applicationContext.xml会找到所有jar文件根目录的applicationContext.xml文件,当然也包括classpath中的applicationContext.xml
这里有一点要注意 classpath*如果要在jar文件的根目录查找 就不能使用上面的那种模糊匹配,比如
classpath*:app*.xml 这样只能找到classpath下的app开头*.xml结尾的配置文件 效果和classpath:app*.xml一样,jar中的会被忽略
如果想查找jar中的配置文件就把配置文件放在jar文件的根目录下级下的目录(包括下级) 例如
jar文件中springConfig/applicationContext.xml springConfig/applicationAA.xml
可以使用 classpath*:springConfig/app*.xml找到这两个配置文件,总之要找到jar文件中的配置文件,还要使用模糊匹配,配置文件就应该在jar文件根目录除外的其他任何地方,然后根据路径名称模糊匹配即可找到
分享到:
相关推荐
Spring 配置文件详解 Spring 配置文件是 Spring 框架中最重要的配置文件之一,它负责定义和配置应用程序的Bean对象,以及它们之间的依赖关系。Spring 配置文件通常以XML文件的形式存在,文件名通常为...
spring配置文件详解,交你如何理解spring,熟练运用spring
Spring 配置文件详解 Spring 配置文件是指-guide Spring 工厂进行 Bean 生产、依赖关系注入(装配)及 Bean 实例分发的“图纸”。Java EE 程序员必须学会并灵活应用这份“图纸”准确地表达自己的“生产意图”。...
为了保护这些敏感信息不被非法访问或篡改,我们可以对Spring配置文件进行加密处理。本文将深入探讨如何在Java环境中,利用TE网络技术实现Spring配置文件的加密。 首先,我们需要理解Spring配置文件的基本结构。...
### Spring配置文件详解 #### 一、引言 在Java Web开发领域,Spring框架因其强大的功能和灵活性而受到广泛欢迎。对于初学者来说,理解Spring的配置方式是至关重要的第一步。本文将详细介绍Spring中常见的配置文件...
如果需要指定不同的配置文件路径或名称,可以通过初始化参数来实现: ```xml <param-name>contextConfigLocation <param-value>/WEB-INF/dispatcherContext-servlet.xml ``` 这里指定了一个具体的配置文件路径...
《Spring配置文件模板详解》 在Java开发领域,Spring框架以其强大的依赖注入(Dependency Injection,简称DI)和面向切面编程(Aspect-Oriented Programming,简称AOP)能力,成为了企业级应用开发的重要选择。而...
Spring 配置文件详解 Spring 框架中的配置文件是项目的核心组件之一,用于定义和管理应用程序中的 Bean 对象。配置文件通常以 XML 文件形式存在,用于描述 Bean 对象的定义、关系和依赖关系。在本文中,我们将详细...
### Spring配置文件详解 #### 一、Spring框架与配置文件的重要性 Spring框架是Java平台上的一个开源框架,它提供了一种轻量级的方式来管理和组织Java应用程序中的组件。Spring框架的核心特性之一是依赖注入...
首先,配置文件路径的固定是基础。通常,我们将Spring的配置文件(如`applicationContext.xml`)放在项目的类路径下,如`src/main/resources`目录。确保配置文件的位置在项目构建后不会变动,以便于后续的监听和加载...
下面是对Spring配置文件的详细介绍。 首先,Spring配置文件通常是以`.xml`为扩展名的文件,例如`beans.xml`。这些文件存储在项目的`src/main/resources`目录下,以便在运行时被自动加载。Spring容器...
### Spring之AOP配置文件详解 #### 一、前言 在Java开发中,Spring框架因其强大的功能和灵活的配置而被广泛应用于企业级应用的开发。其中,面向切面编程(Aspect Oriented Programming,简称AOP)是Spring框架的...
spring boot配置文件参数详解,spring boot配置文件参数详解,spring boot配置文件参数详解,spring boot配置文件参数详解,
使用此类,你可以通过类路径的相对路径来指定配置文件的位置。例如,如果你的配置文件名为`applicationContext.xml`,则可以这样创建上下文: ```java ApplicationContext context = new ...
这里,多个配置文件路径以逗号分隔,`ContextLoaderListener` 将在应用启动时读取并合并这些配置文件。 ##### 3.3 XML 配置文件中导入其他配置文件 除了直接通过 ApplicationContext 或者 ContextLoaderListener ...
加载jar包中的Spring配置文件需要对Spring的类路径加载机制有深入理解。通过`ClassPathResource`,我们可以定位并加载jar包内的配置,然后应用到`ApplicationContext`。在SSM整合的项目中,正确地加载这些配置文件...
下面我们将深入探讨Spring配置文件中的关键知识点。 首先,我们来看`<context:component-scan>`标签,它用于开启注解扫描。这个标签告诉Spring去寻找特定包下的所有使用了Spring注解(如@Service、@Repository、@...
1. **不使用通配符**:当配置文件路径不包含通配符时,Spring会直接定位到指定的文件。例如: - 当配置文件直接放置在应用的bin目录下的conf文件夹内时,上述代码将加载该目录下的`application-context.xml`文件。...