spring引用另一xml文件中的bean

使用SSH开发项目,为了使项目模块化,使用了多个spring配置文件

写了一个service 

<bean id="testServiceImpl" class="service.impl.TestServiceImpl" >  
        <property name="queueSender">  
            <ref bean="queueSender"/>  
        </property>   
</bean> 

queueSender是放在另一个xml文件的bean

使用Junit测试service,代码:

@Test
public void test03(){
	ApplicationContext spring = new ClassPathXmlApplicationContext("config/applicationContext.xml"});
	TestServiceImpl service = (TestServiceImpl)spring.getBean("testServiceImpl");
	service.send();
}

发现报错提示找不到引用的这个bean


后来发现是由于这里没有读取引用的bean所在的xml文件

读取所有用到的bean所在的xml文件,代码:

	@Test
	public void test03(){
		ApplicationContext spring = new ClassPathXmlApplicationContext(
				new String[]{"config/applicationContext.xml","classpath:config/ActiveMQ.xml"});
		TestServiceImpl service = (TestServiceImpl)spring.getBean("testServiceImpl");
		service.send();
	}


据说使用多个spring配置文件,最终spring都会整合成一个文件,这里之所以会出错,是由于这里使用的是Junit测试,需要从xml文件中去取bean,所以这里应该把所有的spring配置文件都读取了

在实际的运行中,应该直接引用其它配置文件的bean就可以了





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值