您的位置:首页 > 其它

<ref bean>使用注意事项

2017-05-08 11:09 218 查看
最近在学习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对象中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: