java - Spring - @Value 返回 null

标签 java spring spring-mvc

我在 /src/main/resources/ 下有一个属性文件,我想使用 Spring 从中加载数据。

在我的 Spring-context.xml 中我有这个:

<context:property-placeholder location="classpath:UserUtil.properties" />

还有<context:component-scan base-package="com.myApp" />

在我的类里面我加载它如下:

@Value("${injectMeThis}")
private String injectMeThis;

但该值始终为空

编辑:

要检查该值,我使用这个:

System.out.println(new myClass().getInjectMeThis());

最佳答案

System.out.println(new myClass().getInjectMeThis());

Spring只会解析@Value它所知道的 bean 上的注释。您使用的代码在 Spring 范围之外创建该类的实例,因此 Spring 不会对其执行任何操作。

假设您已正确设置应用程序上下文 @Value不能是null因为这将阻止您的应用程序的正确启动。

您的 XML 文件包含 <context:component-scan />假设myClass是该包的一部分,最简单的解决方案是添加 @ComponentmyClass然后从上下文中检索实例而不是创建新实例。

关于java - Spring - @Value 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44542471/

相关文章:

java - 使用 Mockito 进行 Spring Controller 测试,空指针异常

java - 我可以自动执行从 URL 下载的过程吗?

java - Quartz CRON 触发器未按预期触发

java - 从4.3.11.Final版本切换到5.0.1.Final导致编译报错

spring - 使用 Hibernate Validator 验证 double 和 float 值 - bean 验证

java - Spring MVC。为什么 JSP 页面看不到资源?

java - Ajax 请求参数,我做错了什么?

Java - 将多个列表数据组合成一个单独的列列表

java - 如何在Java中将2d集合转换为1d?

spring - Angular 6(前端)+ Spring : Configuring Routing