2017-02-21 4 views
0

Ich habe eine Groovy-Klasse, die Spring-Injektion verwendet, um einen Hostnamen (zuvor in application.properties definiert) zu erhalten. Es funktioniert gut, wird der Code wie folgt aussieht:Injizierende Umgebungsvariable in Groovy/Spring

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

nun statt mit application.properties, würde Ich mag von einer Umgebungsvariablen server_hostname genannt injizieren. Ich habe folgendes versucht, aber es funktioniert nicht arbeiten.

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

In meinem Frühling Projekten '@Value ("$ {server_hostname}")' Werke, wegen https: // docs .spring.io/spring-boot/docs/aktuelle/reference/html/boot-features-externe-config.html - aber ich mache keine Antwort, weil ich nicht in Groovy versucht habe, und es kann sein dieser Spring Boot macht extra Magie. – slim

Antwort

1

Es scheint, dass das folgende Stück sollte der Code arbeiten:

@Value("#{environment.SERVER_HOSTNAME}") 
private String serverHost