今天发现,注入的静态属性一直为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; } }