使用@Value注解將變量進行自動注入的時候,經常會出現的一個問題就是我們可能會由於在配置參數中忘記設置該參數造成整個項目報錯,其實我們可以通過給被@Value注解作用的變量進行注入的時候如果沒有找到該配置參數時設置一個默認值,相當於是一個兜底的方案:
沒有默認值的用法:
@Value("${spring.port}") private String port;
增加默認值的用法:
@Value("${spring.port:8080}") private String port;
這里需要注意的是:
即使你的配置參數的值是String類型的話也不需要加雙引號
被static修飾的變量通過@Value會注入失敗
如果是因為特定需求必須要給static變量進行@Value設值的話,可以采用下面這種方式
給static變量采用@Value設值
public static String port; @Value("${spring.port:8080}") public void setPort(String port){ Class.port = port; }