2012-02-06 66 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