比如 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包的加载顺序)
<classpath><classpathentry kind="src" output="target/classes" path="src/main/java"/><classpathentry kind="src" output="target/test-classes" path="src/test/java"/><classpathentry kind="src" path="src/main/webapp"/><classpathentry kind="src" path="src/main/resources"/></classpath>

<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:*/config/spring-servlet.xml</param-value>
<!-- <param-value>WEB-INF/config/spring-servlet.xml</param-value> -->
<!-- <param-value>classpath*:WEB-INF/config/spring-servlet.xml</param-value> -->
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

本文详细介绍了Spring框架中如何使用classpath*:前缀来从多个JAR文件中加载相同名称的配置文件,并解释了classpath*:与classpath:的区别。同时强调了配置文件路径正确性的重要性。
277

被折叠的 条评论
为什么被折叠?



