<ref bean>使用注意事项

最近在学习spring过程中,有人问我为什么使用<ref bean>标签时总是显示bean未定义。

为了解决这个问题,就要分析一下bean的加载机制和<ref bean>的作用范围。

首先,<ref bean>查找的范围有两个,一个是当前xml文档,另一个是和它属于同一BeanFactory中的其他javabean。

而对于bean的加载,以scope为单例为例,bean是在ApplicationContext对象创建时调用。

例如ApplicationContext context  = new ClassXmlApplicationContext("a.xml");

那么这个时候只有a中的bean对象被创建,a 中的<ref bean>只能在a中查找。

而如果是ApplicationContext context  = new ClassXmlApplicationContext("a.xml",”b.xml“);

a中的<ref bean>就可以在a和b中查找bean对象。

所以如果显示bean未定义时,就要注意bean的xml文件是否处于同一个ApplicationContext对象中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值