Я новичок в Spring, и мне интересно, какие предпосылки/условия использования аннотации @Value весной?
То, что у меня на данный момент, - это класс Token, который имеет секретный ключ жесткого кода в качестве поля. То, что я пытаюсь сделать, - это переместить этот секретный ключ в файл конфигурации, чтобы устранить hardcoding, но по какой-то причине следующее не работает.
public class Token {
//...some code
@Value("${my.secretKey}")
private String key;
//...some code
}
Может быть, существует стандартный метод решения таких задач.
Спасибо за помощь!
ps У меня есть файл .properties
который содержит my.secretKey=123
.
Влияния зависимостей и значений действуют только на объекты, которым управляет Spring - когда вы вручную создаете объект с использованием new
, например, выполняя new Token()
, Spring не может обработать объект для наложения зависимостей и значений.
Объект Token
должен быть Spring bean, чтобы это работало.
Чтобы использовать аннотацию @Value
ваша версия Spring должна быть 3.0+
Вы должны зарегистрировать статический PropertySourcesPlaceholderConfigurer
в XML или аннотации, так что Spring @Value
знает, как интерпретировать ${}
Чтобы получить больше информации