2016-04-15 115 views
0

我有一個file.properties這樣的:春天Bean文件

parameterkey=one 
parameterval=oneVal 

parameterkey=two 
parameterval=twoVal 

parameterkey=three 
parameterval=threeVal 

如何設置該屬性的bean線parameterkey字符串列表和parameterval字符串列表?

現在我有這個,但它僅電線在適當的變量最後一個參數和值:

<context:property-placeholder location="${env}.properties"/> 
..... 
<spring:bean id="myBean" class="mygroup.MyClass"> 
      <spring:property name="queryParamKey"> 
       <spring:list value-type="java.lang.String"> 
        <spring:value>${parameterkey}</spring:value> 
       </spring:list> 
      </spring:property> 

      <spring:property name="queryParamVal"> 
       <spring:list value-type="java.lang.String"> 
         <spring:value>${parameterval}</spring:value> 
       </spring:list> 
      </spring:property> 
</spring:bean> 
+0

我很肯定這可以幫助你(特別是第二個答案) - http://stackoverflow.com/questions/12576156/reading-a-list-from-properties-file-and-load-with-spring-annotation值 – deeveeABC

+0

只要使它成逗號分隔列表'parameterkey = one,two-three' ... Spring將執行轉換。 –

回答

2

如果您在屬性

app.myType[0].key=key1 
app.myType[0].value=val1 
app.myType[1].key=key2 
app.myType[1].value=val2 

你可以有@ConfigurationProperties有這樣的:

@ConfigurationProperties(prefix="app") 
@Component 
public class PropertiesConfiguration { 
    private List<MyType> myType; 

    public static class MyType { 
     private String key; 
     private String value; 

     //getters setters 
    } 
    //getters setters 
} 

查看here瞭解更多詳情。

+0

我創建了一個PropertiesConfiguration類,但@configurationproperties未解析。什麼可能是錯的?謝謝 – michele

+0

'@ ConfigurationProperties'是一個Spring Boot功能。我強烈建議使用Spring Boot而不是普通的Spring配置。您可以從http://start.spring.io/或從Spring Tool Suite腳手架彈簧引導項目。 –