@Value取值为NULL的解决方案

Posted jpfss

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了@Value取值为NULL的解决方案相关的知识,希望对你有一定的参考价值。

在spring mvc架构中,如果希望在程序中直接使用properties中定义的配置值,通常使用一下方式来获取:

    @Value("$tag")
    private String tagValue;

但是取值时,有时这个tagvalue为NULL,可能原因有:

  • 使用static或final修饰了tagValue,如下:
    private static String tagValue;  //错误
    private final String tagValue;    //错误
  • 类没有加上@Component(或者@service等)
    @Component   //遗漏
    class TestValue
         @Value("$tag")
         private String tagValue;
    
  • 类被new新建了实例,而没有使用@Autowired
    @Component   
    class TestValue
         @Value("$tag")
         private String tagValue;
    

    class Test
        ...
        TestValue testValue = new TestValue()
    

这个testValue中肯定是取不到值的,必须使用@Autowired:

class Test
        @AutoWired
        TestValue testValue
    
原文地址:https://blog.csdn.net/zzmlake/article/details/54946346

以上是关于@Value取值为NULL的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

spring@value取不到值的几种情况

spring@value取不到值的几种情况

Spring中@Value("${}"))取不到值的几种情况

前端解决页面间传值取值方案

值不能为 null 或空. 参数名: value

map.getspatialreference 为null怎么办