Spring Boot使用Value注解给静态变量赋值的方法

昨天在使用@Value注解给静态变量赋值的时候,发现静态变量的值始终是null。后来搜索一下得知其中原因,Spring Boot 不允许/不支持把值注入到静态变量中。但是我们可以变通一下解决这个问题。因为Spring Boot 支持set方法注入,我们可以利用非静态set方法注入静态变量。代码:

 private static String directPurchaseurl;
    @Value("${application.directPurchase_url}")
    public void setDirectPurchaseurl(String url){
        directPurchaseurl = url;
    }

注意

  • 代码中需要@Component注解
  • set方法要是非静态的

版权声明:本文为zezezuiaiya原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。