如何使用包含空格的bean ID声明Spring“depends-on”属性?

时间:2015-03-17 20:40:43

标签: spring

在Spring XML配置中,我想使用depends-on attribute来声明bean的初始化依赖于另一个bean。皱纹是我需要处理包含空格的bean ID,如下所示:

<bean id="Bean A">
    <!-- stuff -->
</bean>

<bean id="Bean B" depends-on="Bean A">
    <!-- stuff -->
</bean>

Unfortunatley,这不起作用,因为depends-on属性可以接受以空格分隔的bean ID列表; Spring认为它正在寻找 Bean B 依赖的两个bean, Bean A

有没有办法声明这个,以便正确解析为 Bean A

注意:评论或答案只是说&#34;不要在bean ID中使用空格&#34;不是很有用;这个问题与成语/惯例的优点无关。

2 个答案:

答案 0 :(得分:0)

我认为你不能。

5.4.3 Using depends-on

  

要表达对多个bean的依赖关系,请提供bean名称列表作为depends-on属性的值,使用逗号,空格和分号作为有效分隔符

除非在depends-on属性中有一些巴洛克式和未记录的转义语法,否则它几乎排除了带有空格的bean ID。

我可以给出关于在bean ID中使用空格以及它们与bean名称的关系的建议,但似乎你不想听到,

答案 1 :(得分:0)

根据文档depends-on依赖于将空格视为分隔符之一。这限制了具有空格的名称或ID的bean,一种方法是为其中包含空格的bean创建别名,并在依赖部分中引用它们。

<alias name="bean with space" alias="alias"/>