@Value 和@Autowired注入的变量如何被静态方法使用
SpringBoot中使用@Value()@Autowired只能给普通变量注入值,不能直接给静态变量赋值。要实现在静态方法中引入注入的变量可以做如下处理:
1.使用@Value给普通的静态变量注入值
// ...
private static String dataBaseName;
@Value("database.name")
public void setDataBaseName(String dataBaseName){
this.dataBaseName = dataBaseName;
}
//...
2.使用@Autowire 注入静态变量注入值
// ...
private static Resource resource;
@Autowire
Resource resource;
@PostConstruct
public void setResouce(){
resource = iresource;
}
// ...