【发布时间】:2017-01-20 23:15:56
【问题描述】:
我是 Spring 新手,我想知道在 Spring 中使用 @Value 注解的先决条件/条件是什么?
我现在拥有的是一个 Token 类,它具有硬编码的密钥作为字段。我正在尝试做的是将此密钥移动到配置文件以消除硬编码,但由于某种原因以下不起作用。
public class Token {
//...some code
@Value("${my.secretKey}")
private String key;
//...some code
}
也许有任何标准技术可以解决这类任务。
感谢帮助!
附言我有 .properties 文件,其中包含 my.secretKey=123 条目。
【问题讨论】:
-
@Reimeus,您能否说明需要提供哪些信息?坦率地说,这几乎是一个包含几个课程的新项目。
-
Token类的实例是 Spring bean 吗?如果您使用new Token()自己创建一个新实例,则 Spring 注入不起作用; Spring 无法设置key变量的值。 -
如果你自己用
new创建对象,那么Spring就没有机会做依赖注入和注入值之类的事情。此类事情仅适用于通过 Spring(Spring bean)创建的对象。 -
来自doc:“可以使用@Value 将属性值直接注入到您的bean”(这与spring-boot 相同)
标签: java spring spring-mvc