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

参考:

猜你喜欢

转载自www.cnblogs.com/yuanzx/p/10043521.html