如何在春季引用另一个xml文件的bean
我有一个在xml文件中定义的Spring Bean。我想从另一个xml文件中引用它。我该怎么做?
我有一个在xml文件中定义的Spring Bean。我想从另一个xml文件中引用它。我该怎么做?
您有几种选择:
<import resource="classpath:config/spring/that-other-xml-conf.xml"/>
<bean id="yourCoolBean" class="org.jdong.MyCoolBean">
<property name="anotherBean" ref="thatOtherBean"/>
</bean>
ApplicationContext
创建这两个文件时,使这两个文件都成为您的一部分 =>则无需导入。ApplicationContext
例如,如果您在测试期间需要它:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration({ "classpath:META-INF/conf/spring/this-xml-conf.xml",
"classpath:META-INF/conf/spring/that-other-xml-conf.xml" })
public class CleverMoneyMakingBusinessServiceIntegrationTest {...}
如果它是一个Web应用程序,您可以在以下位置执行此操作:web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/conf/spring/this-xml-conf.xml</param-value>
<param-value>WEB-INF/conf/spring/that-other-xml-conf.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
如果它是独立的应用程序,库等。你会加载你的作为:ApplicationContext
new ClassPathXmlApplicationContext(
new String[] { "classpath:META-INF/conf/spring/this-xml-conf.xml",
"classpath:META-INF/conf/spring/that-other-xml-conf.xml" } );
只需导入定义bean的xml,您就可以使用Bean定义。<import resource="otherXml.xml">
您可以在属性中使用:classpath:
resource
<import resource="classpath:anotherXXML.xml" />
请参阅“3.18.将 Bean 定义从一个文件导入另一个文件“,请参阅 Spring 参考的本章