Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用包含空格的bean ID声明Spring`dependen`属性?_Spring - Fatal编程技术网

如何使用包含空格的bean ID声明Spring`dependen`属性?

如何使用包含空格的bean ID声明Spring`dependen`属性?,spring,Spring,在SpringXML配置中,我想使用声明bean的初始化依赖于另一个bean。问题是我需要处理包含空格的bean ID,如下所示: <bean id="Bean A"> <!-- stuff --> </bean> <bean id="Bean B" depends-on="Bean A"> <!-- stuff --> </bean> 不幸的是,这不起作用,因为dependent属性可以接受以空格分

在SpringXML配置中,我想使用声明bean的初始化依赖于另一个bean。问题是我需要处理包含空格的bean ID,如下所示:

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

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

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

是否有任何方法可以声明它正确解析为Bean A

注意:简单地说“不要在bean ID中使用空格”的注释或答案是没有用的;这个问题不是关于那个习惯用法/惯例的优点。

我认为你做不到

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

这几乎排除了带有空格的bean id,除非
dependens
属性中有一些巴洛克式的、未记录的转义语法

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

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

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


在这种情况下,创建别名将对您有所帮助。我相信你知道这个选择。我看不出有其他选择。@minion,这主意不错。如果没有更好的建议,我可以接受。很高兴能帮上忙。想知道您是否找到了更好的方法来实现这一点吗?我专门发布了一个关于在bean ID中使用空格的不同问题,欢迎您的想法和建议。我本来还希望做些别的事情,但在我的大多数情况下,这会让工作完成。