以前遇到过并解决的问题在今天忘了,记录一下
- 必须声明为spring组件
- set方法必须去static
平时使用的时候,直接在变量加上@Value就能取到配置文件的值
@Value("${path.url}")
private String url;
但是当url被static修饰之后,就取不到配置文件的值了
@Value("${path.url}")
private static String url;
这里是因为Spring Boot 不允许/不支持把值注入到静态变量中,但是也给出了解决的方案
// 1、将类注册给spring管理
@Component
public class Config {
private static String url;
// 2、在set方法上加上注解,并去掉方法上的static关键字
@Value("${path.url}")
public void setUrl(String url) {
Config.url = url;
}
}