У меня есть приложение для весенней загрузки, у которого есть много свойств, определенных в файле .yml
. Я перехожу от свойств в файле к размещению их в облаке, поэтому для этого я использую функцию ключ / значение в Spring Cloud Consul.
Я могу получить значение для данного ключа от консула, но единственный способ, который я видел задокументированный, и единственный способ, которым я мог это сделать, - это так:
@Autowired
private Environment env;
@RequestMapping("/test")
String home() {
return env.getProperty("test.property");
}
Это нормально и красиво, но у меня есть несколько существующих классов, которые по-прежнему настроены на загрузку свойств по-старому:
@Value("${test.property}")
String testProperty;
После добавления зависимости для весеннего облачного консула в мой проект я получаю новые ошибки, в которых говорится, что все эти свойства не могут быть разрешены. Я предполагаю, что это связано с тем, что весенняя загрузка видит зависимость консула и теперь либо игнорирует файл yml, либо его части.
Есть ли способ загрузить эти свойства из consul без изменения кода в классах? Или мне нужно будет изменить эти классы, чтобы следовать примеру, в котором используется объект env
?
Кроме того, мы будем очень признательны за любое дальнейшее понимание того, как Spring Cloud Consul работает с Spring boot для этой конкретной цели. По нему не так много документации.
@Value
должен просто работать. - person M. Deinum   schedule 08.07.2016@Value
. Если это предполагается, то я не могу найти документацию о том, как заставить его работать таким образом, и поэтому я сделал этот пост. - person Seephor   schedule 15.07.2016