欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

springboot application.properties 文件注入数组方式

程序员文章站 2022-07-02 08:52:51
目录application.properties 文件注入数组在application.properties中注入value,list和map配置文件注解数据注入application.propert...

application.properties 文件注入数组

1.application.properties

ips=192.168.0.105,192.168.0.106,0:0:0:0:0:0:0:1

2.代码

@value("#{'${ips}'.split(',')}")
private list<string> iplist;

在application.properties中注入value,list和map

配置文件

在配置文件中配置需要注入的值。

#单个值
val=10
#list
list=1,2,3,4
#map<string, string>
map={'name':'chen', 'age':'12', 'sex':'男'}
#map<string, list<string>>
map.of.list={\
  'key1': {'value1','value2'}, \
  'key2': {'value3','value4'}, \
  'key3': {'value5'} \
 }

注解

使用@propertysource注解标明配置文件路径,同时引入多个配置文件可使用@propertysources注解

@propertysource(value = {"classpath:application-left.properties"})
@propertysources({@propertysource(value = "classpath:application.properties", encoding = "utf-8")})

springboot application.properties 文件注入数组方式

数据注入

//单个数值,可注入为int或string
@value("${val}")
private int val;
//数组
@value("#{'${list}'.split(',')}")
private list<integer> list;
//map
@value("#{${map}}")
private map<string, string> map;
//map of list
@value("#{${map.of.list}}")
private map<string, list<string>> map;

测试结果

10

[1, 2, 3, 4]

{name=chen, age=12, sex=男}

{key1=[value1, value2], key2=[value3, value4], key3=[value5]}

springboot application.properties 文件注入数组方式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。