使用包含属性文件中的值列表的构造函数编写一个spring bean

时间:2013-10-30 08:26:30

标签: java spring spring-ioc

你能帮我看一下使用 .properties文件中的列表参数编写spring bean的正确方法。

  <bean id="property" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="classpath:dateFormat.properties" />
</bean>

<bean id="directoryMarshallerFolder1" class="threadService.DirectoryMarshalerFolder1">

    <constructor-arg>
        <list>
            ...
            <value = "${folder1.path}"/> ?????
            <value = "${folder2.path}"/> 
            ...
        </list>
    </constructor-arg>

</bean>

2 个答案:

答案 0 :(得分:1)

你需要告诉spring加载你的属性文件:

<bean name="propertyPlaceholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="locations">
                <value>classpath:application.properties</value>
            </property>
        </bean>

请注意,您的文件application.properties必须位于项目的类路径中(如果您使用maven方式,src/main/resources是一个不错的选择)

然后你可以使用constructor-arg标签来填充你的bean:

  <constructor-arg index="0" value="${property.key1}"/>
  <constructor-arg index="1" ref="${property.key2}"  />

答案 1 :(得分:1)

我已经找到了结果。

 <constructor-arg> <list> <value>${folder1.path}</value> <value>${folder2.path}</value> </list> </constructor-arg>