Spring - 属性文件中的bean引用列表?

时间:2015-01-21 15:11:24

标签: java spring

我有这个:

<bean class="...">
    <constructor-arg name="beans">
        <list>
            <ref bean="beanA" />
            <ref bean="beanB" />
        </list>
    </constructor-arg>
</bean>

我想通过属性文件配置列表,例如:

Properties file:
beans=beanA,beanB


XML file:
<bean class="...">
    <constructor-arg name="beans">
        <list refs="${beans}" />
    </constructor-arg>
</bean>

Spring可以这样吗?

编辑:只是为了提供一些上下文,以防有问题的替代解决方案,这是针对必须写入多个数据库的应用程序,我想配置哪些数据库已启用属性文件,因此我不必为开发/生产维护单独的XML文件。

2 个答案:

答案 0 :(得分:0)

我的第一个是使用FactoryBean,在其中注入属性$ {beans}和应用程序上下文。然后在工厂bean中,循环访问每个bean id / name,并调用上下文以按名称/ id检索bean。然后使用构造函数和刚刚构建的列表构造bean。

答案 1 :(得分:-1)

使用注释即

@Value("${beans}") 
private Class<? extends YourBean>String[] beanList;