在Spring 4.1.5中,属性"local"不允许出现在元素"ref"中

Shi*_*han 5 spring spring-mvc

我目前正在阅读Mkyong Spring 3.0教程.

他接着澄清了这两个基本的东西.
1. Bean在不同的XML文件中

如果您在不同的XML文件中引用bean,则可以使用'ref'标记,'bean'属性来引用它.

2. Bean在同一个XML文件中

如果您在同一XML文件中引用bean,则可以使用'ref'标记,'local'属性引用它.

我唯一能说的local attribute就是版本4.1.5中不再支持了.对于时间的推移,我坚持了

<ref bean="thebeaninstance"/>
Run Code Online (Sandbox Code Playgroud)

它适用于两者.<ref bean="...">仅要求它在same context或在...中parent context.

但我正在寻找能够解决差异的东西,如果不知何故我在2个不同的bean中遇到相同的ID,并且希望引用在不同XML中定义的那个,因为偏好转到同一个定义在同一个XML.请建议.

小智 6

Spring 在 4.0.1 版本中放弃了对本地 ref 元素的支持。这是来自笔记:

删除了 spring-beans-4.0.xsd 中的 ref 'local' 属性,因为在 3.1 天内,当我们开始允许相同的 bean id 重新出现在相同的配置文件(具有不同的配置文件)。问题:SPR-10437

见这里:链接

基本上,您应该使用bean元素。