static靜態變數使用@value注入
阿新 • • 發佈:2018-12-30
今天發現,注入的靜態屬性一直為null;我是這樣寫的:
後來在網上查了下,發現@value不能直接注入值給靜態屬性,spring 不允許/不支援把值注入到靜態變數中;spring支援set方法注入,我們可以利用非靜態setter 方法注入靜態變數
可以通過如下方法解決:
@Component public class PropUtil { @Value("${brigade.url.noaccess}") private String NO_ACCESS_URL; public String getNO_ACCESS_URL() { returnNO_ACCESS_URL; } public void setNO_ACCESS_URL(String NO_ACCESS_URL) { this.NO_ACCESS_URL = NO_ACCESS_URL; } }
或者這樣(注意:@Value必須修飾在方法上,且set方法不能有static )
@Component public class PropUtil { private static String NO_ACCESS_URL; public static String getNO_ACCESS_URL() { returnNO_ACCESS_URL; } @Value("${brigade.url.noaccess}") public void setNO_ACCESS_URL(String NO_ACCESS_URL) { this.NO_ACCESS_URL = NO_ACCESS_URL; } }