从属性文件构建java列表

问题描述 投票:0回答:1

我有一个商店列表(getStore(..))s,它从DB获取所有商店

我想要做的是从属性文件中添加额外的存储。(尝试构建列表)

这是我的属性文件的样子

yard=1085:BELF:BELGRADE FIXTURES
yard=3238:SKWS:SKOKIE WAREHOUSE
yard=3239:PLDC:PLANO DC
yard=3339:HCDC:HOLIDAY CITY DC

这是我试图获取列表的方式。

@Value("#{'${yard}'.split(',')}#{T(java.util.Collections).emptyList()}") 
private List<String> myList;

这里我是如何尝试将其他商店添加到列表中的

    public List<Store> additionalYardList() {
    List<Store> stores = storesApi.getStores();
    for (String yard : myList) {
        String[] yardArray = yard.split(":");
        Store store = new Store();
        store.setNumber(Integer.parseInt(yardArray[0]));
        store.setAbbr(yardArray[1]);
        store.setName(yardArray[2]);
        LOG.debug(store.getAbbr());
        stores.add(store);
    }
    return stores;
}

然后将进行Stream合并

    public List<Store> getAllStores() {
    return Stream.of(additionalYardList(), storesApi.getStores()).flatMap(List::stream).collect(Collectors.toList());
}

}

我的商店对象字段是:(number-abbr - name)

没有任何内容添加到该列表中,不知道我错过了什么?

java spring
1个回答
1
投票

重复的码密钥,请更正属性文件以获得唯一的密钥。

改变它

yard=1085:BELF:BELGRADE FIXTURES
yard=3238:SKWS:SKOKIE WAREHOUSE
yard=3239:PLDC:PLANO DC
yard=3339:HCDC:HOLIDAY CITY DC

yard=1085:BELF:BELGRADE FIXTURES,3238:SKWS:SKOKIE WAREHOUSE,3239:PLDC:PLANO DC,3339:HCDC:HOLIDAY CITY DC

然后你可以用下面的代码加载它们。

@Value("#{'${yard}'.split(',')}") 
 private List<String> myList;

这已经回答了here

© www.soinside.com 2019 - 2024. All rights reserved.