1. 程式人生 > >Spring Boot專案中@Value取不到配置檔案中的配置引數值

Spring Boot專案中@Value取不到配置檔案中的配置引數值

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;
}

參考: