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=呵呵
- 本文标签: Spring Spring Boot Java
- 本文链接: https://code.jiangjiesheng.cn/article/17
- 版权声明: 本文由小江同学原创发布,转载请先联系本站长,谢谢。