大家都知道@Value注解是從spring的配置文件里讀取配置並給指定屬性賦值
在這里給大家介紹兩個實際開發中可能會用到的場景:
1. @Value注解添加默認值
@Value("${max.num:3}") private Integer maxNum;
如上所示, 如不能正確讀取到配置文件的 max.num 屬性, 則maxNum會賦予默認值3
2. @Value注解給靜態變量賦值
方式1: @PostConstruct實現
@Value注解如果直接賦予靜態變量的話,是無法成功賦值的,通過如下的一個小轉換,可以實現賦值給靜態變量
@Value("${max.num:3}") private Integer maxNum; public static int MAX_NUM; @PostConstruct public void init() { MAX_NUM= maxNum; }
方式2: set方法實現
public static int MAX_NUM; @Value("${max.num:3}") public void setMaxNum(int maxNum) { MAX_NUM= maxNum; }