Spring @Value аннотация

2

Я новичок в Spring, и мне интересно, какие предпосылки/условия использования аннотации @Value весной?

То, что у меня на данный момент, - это класс Token, который имеет секретный ключ жесткого кода в качестве поля. То, что я пытаюсь сделать, - это переместить этот секретный ключ в файл конфигурации, чтобы устранить hardcoding, но по какой-то причине следующее не работает.

public class Token {
//...some code

    @Value("${my.secretKey}")
    private String key;

//...some code
}

Может быть, существует стандартный метод решения таких задач.
Спасибо за помощь!

ps У меня есть файл .properties который содержит my.secretKey=123.

  • 0
    Может быть связано с: stackoverflow.com/questions/33344895/…
  • 0
    @Reimeus Reimeus, не могли бы вы уточнить, какую информацию требуется предоставить? Откровенно говоря, это почти новый проект с парой классов.
Показать ещё 7 комментариев
Теги:
spring
spring-mvc

2 ответа

6
Лучший ответ

Влияния зависимостей и значений действуют только на объекты, которым управляет Spring - когда вы вручную создаете объект с использованием new, например, выполняя new Token(), Spring не может обработать объект для наложения зависимостей и значений.

Объект Token должен быть Spring bean, чтобы это работало.

2

Чтобы использовать аннотацию @Value ваша версия Spring должна быть 3.0+

Вы должны зарегистрировать статический PropertySourcesPlaceholderConfigurer в XML или аннотации, так что Spring @Value знает, как интерпретировать ${}

Чтобы получить больше информации

https://www.mkyong.com/spring3/spring-value-default-value/

Ещё вопросы

Сообщество Overcoder
Наверх
Меню