我正在使用Spring定义应用程序中的阶段。配置为将必要的类(在此称为Configurator
)与阶段一起注入(inject)。
现在,我需要另一个类名为LoginBean
的阶段列表。 Configurator
无法访问他的舞台列表。
我不能更改类Configurator
。
我的想法:
定义一个名为Stages的新bean,并将其注入(inject)Configurator
和LoginBean
。
我的想法是,我不知道如何转换此属性:
<property ...>
<list>
<bean ... >...</bean>
<bean ... >...</bean>
<bean ... >...</bean>
</list>
</property>
变成 bean
这样的事情不起作用:
<bean id="stages" class="java.util.ArrayList">
有人可以帮我吗?
最佳答案
导入spring util namespace 。然后,您可以如下定义一个列表bean:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-2.5.xsd">
<util:list id="myList" value-type="java.lang.String">
<value>foo</value>
<value>bar</value>
</util:list>
值类型是要使用的泛型类型,并且是可选的。您还可以使用属性
list-class
指定列表实现类。