2012-02-06 59 views
0

我有一个java应用程序,它在web内容中使用spring和spring.xml文件。我在我的Java类这段代码:Spring从包中导入xml

ApplicationContext context = new ClassPathXmlApplicationContext("WEB-INF/spring-conf.xml"); 
WService ws = (WService) context.getBean("service"); 

在这种spring.xml我导入住在库(包)一个XML文件,我已经把我的项目作为外部库。

<import resource="classpath:/org/bundle/spring2.xml" /> 

和它的作品,但在spring2.xml和管束也有:

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location"> 
    <value>../properties/environment.properties</value> 
    </property> 
</bean> 
<import resource="../commons/datasources.xml"></import> 
<import resource="../commons/context-resources.xml"></import> 

而且因为他们生活在捆绑,而不是在我的web内容我不能找到这些XML文件。 如何在我的spring-conf.xml文件中指明其他xml文件的位置? 如果还有其他方法可以做到这一点,欢迎您。 非常感谢。

回答

1

尝试导入自己在你的spring-conf.xml了个XML:

<import resource="classpath:<PACKAGE_PATH>/datasources.xml" /> 
<import resource="classpath:<PACKAGE_PATH>/context-resources.xml" /> 

,并用正确的价值:-)

+0

它的工作原理。非常感谢 – 2012-02-07 09:57:17

+0

是否可以在一行中导入多个xml文件?如果它们都在一个通用的包中,而不是写50行的导入,我们可以使用通配符(* resource.xml将导入Aresourse.xml,Bresourse.xml等)? – 2014-11-06 09:24:27

1

你尝试编辑这些进口使用类路径前缀替换PACKAGE_PATH

<import resource="classpath:/org/commons/datasources.xml"/> 
<import resource="classpath:/org/commons/context-resources.xml"/> 

这样他们应该可以使用这个库的任何人。

+0

它的工作原理。非常感谢你 – 2012-02-07 09:56:33