简单属性读取
1、配置
person1:
second-name: 李
2、代码
@Value("${person1.second-name}")
// @Value("#{person1.second-name}") ,这样是错误的,读取不到
private String secondName;
list属性读取
1、配置
my:
list: foo,bar
2、代码
@Value("${my.list}")
private List<String> lists;
@Value("#{'${my.pet}'.split(',')}")
private List<String> lists;
因为我们这里的yml配置是用逗号分隔的,所以.split(',')也可直接省略不写,如下:
@Value("#{'${my.list}'}")
private List<String> lists;
上面3种写法都是正确的。
不足
当list的配置在不同行时,如下:
test:
list:
- aaa
- bbb
- ccc
@Value的这种方式就不行了,就必须使用
@ConfigurationProperties