`

spring import resource classpath*:和class:的区别

    博客分类:
  • java
阅读更多
A方式
<import resource="classpath*:config/**/spring*.xml" />


B方式比A方式少个*
<import resource="classpath:config/**/spring*.xml" />



两个配置只有一个字符之差,项目启动时使用B方式就启动不了,报service未加载

实际使用B方式,在spring里为精确匹配,不能匹配通配符,A方式才可以配匹通配符。


原文
传送门
引用

4.7.2.2. The classpath*: prefix

When constructing an XML-based application context, a location string may use the special classpath*: prefix:

ApplicationContext ctx =
    new ClassPathXmlApplicationContext("classpath*:conf/appContext.xml");

This special prefix specifies that all classpath resources that match the given name must be obtained (internally, this essentially happens via a ClassLoader.getResources(...) call), and then merged to form the final application context definition.
[Note] Classpath*: portability

The wildcard classpath relies on the getResources() method of the underlying classloader. As most application servers nowadays supply their own classloader implementation, the behavior might differ especially when dealing with jar files. A simple test to check if classpath* works is to use the classloader to load a file from within a jar on the classpath: getClass().getClassLoader().getResources("<someFileInsideTheJar>"). Try this test with files that have the same name but are placed inside two different locations. In case an inappropriate result is returned, check the application server documentation for settings that might affect the classloader behavior.

The "classpath*:" prefix can also be combined with a PathMatcher pattern in the rest of the location path, for example "classpath*:META-INF/*-beans.xml". In this case, the resolution strategy is fairly simple: a ClassLoader.getResources() call is used on the last non-wildcard path segment to get all the matching resources in the class loader hierarchy, and then off each resource the same PathMatcher resoltion strategy described above is used for the wildcard subpath.
分享到:
评论

相关推荐

    spring 所有功能详解

    **通过`import`标签引入其他配置文件**:在`spring-mvc.xml`中使用`&lt;import resource="user_spring.xml"/&gt;`引入其他配置文件。 2. **在`web.xml`中配置**:可以在`web.xml`中指定`contextConfigLocation`参数来...

    spring源代码

    Resource[] resources = resolver.getResources("classpath*:META-INF/INDEX.LIST"); Assert.assertTrue(resources.length &gt; 1); //将加载多个模式匹配的Resource resources = resolver.getResources(...

    CXF整合Spring步骤

    1. **添加依赖**:在项目中,你需要引入 CXF 和 Spring 相关的库。在 Maven 或 Gradle 的配置文件中,添加相应的依赖项,确保 CXF 和 Spring 框架的版本兼容。 2. **创建服务接口**:定义你的 Web 服务接口,通常是...

    CXF与Spring整合基础学习笔记

    4. **统一管理**:整合后,所有服务的配置、管理和监控都可以在Spring容器中进行,降低了复杂性。 总结来说,CXF与Spring的整合为Java Web服务开发提供了更强大的工具和更高效的开发模式,让开发者能够更专注于业务...

    Spring笔记(面试题)md

    - **面向接口编程**:Spring鼓励开发者使用接口而非具体实现类来编写代码,这样可以提高代码的灵活性和可扩展性。例如,在使用Spring时,开发者可以通过定义接口并为其提供不同的实现,从而在运行时根据需要轻松地...

    mybatis-spring中文配置

    - **简化配置**:减少用户配置MyBatis和Spring环境所需的样板代码。 - **透明事务管理**:增加Spring对MyBatis事务的透明支持,简化事务管理逻辑。 - **异常转换**:将MyBatis异常转换为Spring的`...

    java文件的加载

    import org.springframework.core.io.ClassPathResource; ClassPathResource resource = new ClassPathResource("applicationContext.xml"); BeanFactory factory = new XmlBeanFactory(resource); ``` #### ...

    spring整合CXF开发webService所需jar包

    4. **Spring配置**:在Spring XML配置文件(如`applicationContext.xml`)中,你需要声明CXF的Bus和WebServiceEndpoint。例如: ```xml &lt;import resource="classpath:META-INF/cxf/cxf.xml"/&gt; &lt;import resource=...

    cxf-2.7.3与spring3.0.7整合实例

    &lt;import resource="classpath:META-INF/cxf/spring/cxf-extension-soap.xml" /&gt; &lt;import resource="classpath:META-INF/cxf/spring/cxf-servlet.xml" /&gt; &lt;jaxws:endpoint id="helloServiceEndpoint" implementor=...

    struts2_spring3.0_Junit4.7_Maven2.2.1_整合运行说明_培训.pdf )

    &lt;import resource="classpath*:context/applicationContext-dataAccess.xml"/&gt; &lt;import resource="classpath*:service/applicationContext-*.xml"/&gt; &lt;import resource="classpath*:dao/applicationContext-*.xml...

    CXF_Spring

    1. **引入依赖**:首先,在项目中添加CXF和Spring的相关依赖库。 2. **配置CXF**:在Spring配置文件中,定义CXF的Bus实例,配置服务端点(Endpoint)和服务器(Server)。 3. **服务发布**:通过Spring的`jaxws:...

    ibatis 一个简单的项目详解

    - **Spring框架**:spring.jar - **Struts2核心及插件**:struts2-core-2.0.11.2.jar、struts2-spring-plugin-2.0.11.2.jar - **XWork核心库**:xwork-2.0.5.jar - **其他工具类**:classes12.jar、ognl-2.6.11.jar ...

    cxf集成Spring的restful WebService接口

    2. **创建Spring配置**:在Spring的XML配置文件中,你需要声明CXF的Servlet和Bus实例。Servlet将处理HTTP请求,而Bus是CXF的核心,负责管理服务和服务端点。 ```xml &lt;import resource="classpath:META-INF/cxf/...

    cxf与spring集成

    3. **启用Spring与CXF的整合**:CXF提供了Spring模块,允许我们在Spring应用上下文中直接发布和消费Web服务。通过引入相应的CXF Spring库,可以在配置文件中声明CXF的SpringBus,以启用两者之间的集成。 ```xml ...

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

    Spring提供了`ClassPathResource`类,可以用来加载类路径下的资源,包括jar包内的文件。例如,如果你的jar包名为`mylib.jar`,配置文件为`myconfig.xml`,你可以这样加载: ```java Resource resource = new Class...

    jdk21集成cxf示例程序

    1. **安装与配置JDK**:确保你的系统上已经安装了对应版本的JDK,并且环境变量配置正确,包括`JAVA_HOME`和`PATH`。 2. **获取CXF库**:你可以从Apache CXF的官方网站下载CXF的最新版本。解压缩后,将CXF的jar文件...

    springmvc配置webservice服务的例子

    4. **配置Spring MVC**:在Spring的配置文件(如`spring-servlet.xml`)中,你需要配置CXF的Servlet和WebService服务: ```xml &lt;import resource="classpath:META-INF/cxf/cxf.xml" /&gt; &lt;import resource=...

Global site tag (gtag.js) - Google Analytics