有時(shí)候我們需要把配置文件中的變量注入給工具類中的靜態(tài)變量,這時(shí)候我們直接在寫變量上@Value(“${client.register.url}”)是注入不了靜態(tài)變量的值始終是null。
@Value("${client.register.url}")
public static String url;
其原因是Spring不允許/不支持把值注入到靜態(tài)變量中算色。
解決方案
? Spring支持set方法注入总珠,可以利用非靜態(tài)方法注入靜態(tài)變量公你。
- 創(chuàng)建set方法祟绊,注意要去除static修飾符
- 類需要有@Component或者@Service等注解掃描
@Component
public class ValidateUtil {
public static String url;
public static String getUrl() {
return url;
}
@Value("${client.register.url}")
public void setUrl(String url) {
ValidateUtil.url = url;
}
}