总结 @Value 的几种常见用法
1.属性注入
@Value("${value.name}")
private String valueName;
2.属性注入(带默认值)
冒号后是默认值。
@Value("${value.name:qingquanyingyue}")
private String valueName;
3.数组属性注入
配置项 引入:
value:
name: 1,2,3
@Value("${value.name:0,1,2}")
private String[] valueName;
4.列表属性注入
springboot 2.4.x以上的版本可以复用上述3的方式,更早版本需要以下方式:
@Value("#{'${value.name}'.split(',')}")
private List valueName;
5.注入 bean
一般我们注入类都用 @Autowired或者@Resource,但 @Value 也可以,就是显得比较叛逆;
同时该方法也可以只获取bean的属性值:
public class TestController {
# 注入 bean
@Value("#{proConfigure}")
ProConfigure proConfigure;
# 获取 bean 属性值
@Value("#{proConfigure.name}")
private String name;
@GetMapping(value = "/config")
public String config() {
return proConfigure.getName();
}
@GetMapping(value = "/name")
public String name() {
return name;
}
}
评论