1. 程式人生 > >static靜態變數使用@value注入

static靜態變數使用@value注入

今天發現,注入的靜態屬性一直為null;我是這樣寫的:


後來在網上查了下,發現@value不能直接注入值給靜態屬性,spring 不允許/不支援把值注入到靜態變數中;spring支援set方法注入,我們可以利用非靜態setter 方法注入靜態變數

可以通過如下方法解決:

@Component
public class PropUtil {
    
    @Value("${brigade.url.noaccess}")
    private   String NO_ACCESS_URL;

    public String getNO_ACCESS_URL() {
        return 
NO_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() {
        return 
NO_ACCESS_URL; } @Value("${brigade.url.noaccess}") public void setNO_ACCESS_URL(String NO_ACCESS_URL) { this.NO_ACCESS_URL = NO_ACCESS_URL; } }