2013-11-21 66 views
2

我有(鍵/值)的列表需要填充到地圖上一個Spring bean:看地圖從屬性文件並加載彈簧註釋@Value

dmin.details.fieldsMap=name,Abdullah,\ 
      street,Zayed,\ 
      phone,+201020102010 

這是

屬性:

dmin.de使用下面的列表,包括我工作的罰款tails.fields =阿卜杜拉·扎耶德,+ 201020102010

呼叫:

@Value("#{'${dmin.details.fields}'.split(',')}") 
private List<String> fields; 

任何人都可以提出建議,如果這是可行的春天?

回答

1

,因爲我沒有找到任何春方式讀取屬性的地圖,我不得不填寫自己使用彈簧下面填寫列表中的地圖:

@Value("#{'${dmin.details.fields}'.split(',')}") 
private List<String> fields; 

private Map<String, String> fieldsMap; 

@PostConstruct 
public void init() { 
    fieldsMap = new HashMap<String, String>(); 
    if (fields != null && fields.size() != 0) { 
     for (String field : fields) { 
      String[] splittedField = field.split(","); 
      fieldsMap.put(splittedField[0], splittedField[1]); 
     } 
    } 
} 
7

application.properties:

property.map={first:value, second:value} 

然後在Java代碼可以:

@Value("#{${property.map}}") 
Map<String, String> map; 
+0

應當'property.map = {第一: '值',第二:「VA '藍色'}'。另外值得注意的是它需要spring 4.1+(https://jira.spring.io/browse/SPR-9472) –