原创

Spring-@Value-注入List对象-split

一、获取简单数据类型List

1、使用表达式分割:

@Value("#{' 加上 ${ }

这个错误:

@Value("#

{'cred.enable.containerIdList:baofengnengyuan,AnQuanShengChanGong2,BaoXianFuWu'.split(',')}")

这个正确:

@Value("#

{'${cred.enable.containerIdList:baofengnengyuan,AnQuanShengChanGong2,BaoXianFuWu}'.split(',')}")

2、使用yml的 - 前缀特性 【yml文件 列表前都是‘ - ’ 加空格开头

table:

whiteList:

­ jimu_

­ base_

­ sys_

­ gen_

­ media_

@Configuration

@ConfigurationProperties(prefix = "table")

public class WhiteListConfig {

private List<String> whiteList;

public List<String> getWhiteList() {

return whiteList;

}

public void setWhiteList(List<String> whiteList) {

this.whiteList = whiteList;

}

}

来自 https://www.cnblogs.com/person008/p/16466467.html

@NacosValue是否支持,未测试

二、获取实体数据类型List

来自 https://blog.csdn.net/tiantiantbtb/article/details/127974730

@Data@NoArgsConstructor

@AllArgsConstructor

@Accessors(chain = true)

public class Person {

private String name;

private String age;

private String content;

}

@Component//将该类交由Spring管理

@ConfigurationProperties(prefix = "project") //自定义.properties文件的前缀

//指定.properties文件名与位置,字符集编码,.properties文件经常出现乱码,相对没有yml文

件好

@PropertySource(value = "classpath:config.properties",encoding="UTF-8")

@Data//这里需要提供set方法

public class ProjectListVo {

List<Person> plist;

}

config.properties中的内容

project.plist[0].name=zhangsan

project.plist[0].age=23

project.plist[0].content=哈哈

project.plist[1].name=lisi

project.plist[1].age=24

project.plist[1].content=呵呵

正文到此结束
本文目录