转载于:https://blog.csdn.net/zzmlake/article/details/54946346
在 spring mvc 架构中,如果希望在程序中直接使用 properties 中定义的配置值,通常使用一下方式来获取:
@Value("${tag}")
private String tagValue;12
但是取值时,有时这个 tagvalue 为 NULL,可能原因有:
- 使用 static 或 final 修饰了 tagValue,如下:
private static String tagValue; //错误
private final String tagValue; //错误12
- 类没有加上 @Component(或者 @service 等)
@Component //遗漏
class TestValue{
@Value("${tag}")
private String tagValue;
}12345
- 类被 new 新建了实例,而没有使用 @Autowired
@Component
class TestValue{
@Value("${tag}")
private String tagValue;
}
class Test{
...
TestValue testValue = new TestValue()
}12345678910
这个 testValue 中肯定是取不到值的,必须使用 @Autowired:
class Test{
@AutoWired
TestValue testValue
}
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于