2017-02-21 11 views
0

У меня есть класс groovy, который использует весеннюю инъекцию, чтобы получить имя хоста (ранее определенное в application.properties). Он отлично работает, код выглядит следующим образом:Инъекционная среда Переменная в Groovy/Spring

import org.springframework.beans.factory.annotation.Value 
... ... 
    @Value('${mycontext.var1}') 
    private String serverHost 

Теперь, вместо того, чтобы использовать application.properties, я хотел бы, чтобы впрыснуть из переменной окружения с именем SERVER_HOSTNAME. Я попробовал следующее, но не работа.

@Value('${System.getenv("SERVER_HOSTNAME")}') 
private String serverHost 
+0

В моих весенних проектов, '@value ("$ {SERVER_HOSTNAME}")' работы, из-за https: // DoCS .spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html - но я не принимаю его, потому что я не пробовал в Groovy, и это может быть что Spring Boot делает дополнительную магию. – slim

ответ

1

Кажется, что следующий фрагмент кода должен работать:

@Value("#{environment.SERVER_HOSTNAME}") 
private String serverHost 
Смежные вопросы