Spring Boot專案中@Value取不到配置檔案中的配置引數值
阿新 • • 發佈:2018-11-30
Spring Boot專案中@Value取不到配置檔案中的配置引數值
原取值方式如下所示:
@Value("${authox.sql.url}") private static String url; @Value("${authox.sql.username}") private static String user; @Value("${authox.sql.password}") private static String password; @Value("${authox.sql.driver-class-name}") private static String driver;
產生原因:
- 在SpringBoot中使用@Value只能給普通變數賦值,不能給靜態變數賦值
解決方法:
- 給靜態變數增加一個非靜態的set方法,注意需要把@Value註解寫到對應的set方法上,而不是定義的靜態變數上,如下所示:
@Value("${authox.sql.url}") public void setUrl(String url) { JdbcUtils.url = url; } @Value("${authox.sql.username}") public void setUser(String user) { JdbcUtils.user = user; } @Value("${authox.sql.password}") public void setPassword(String password) { JdbcUtils.password = password; } @Value("${authox.sql.driver-class-name}") public void setDriver(String driver) { JdbcUtils.driver = driver; }
參考: