Werte aus Spring Properties verwenden

Um Spring Properties in den eigenen Klassen zu verwenden, kann mit der @Value-Annotation auf die Werte zugegriffen werden.

Diese bewirkt, dass die damit annotierte Variable den Wert aus der Property zugewiesen bekommt.

Haben wir z.B. folgende Properties-Datei:

config.filesPath=d:\\myfiles
config.mailServer=mail.my.company.com

Dann können wir mit der @Value-Annotation folgendermaßen auf die Werte zugreifen:

@Value("${config.filesPath}")
private String filesPath = null;

Es empfiehlt sich, den Zugriff auf die Properties in einer zentralen Klasse zusammenzufassen. Z.B. könnte eine Klasse PropertiesReader so aussehen:

import org.springframework.beans.factory.annotation.Value;

public class PropertiesReader {

	@Value("${config.filesPath}")
	private String filesPath = null;

	@Value("${config.mailServer}")
	private String mailServer = null;

	public String getFilesPath() {
		return filesPath;
	}
	
	public String getMailServer() {
		return mailServer; 
	}
}

Der Vorteil davon ist unter anderem dass der Name des Properties nicht im Projekt verstreut ist und somit leicht geändert werden kann. Außerdem kann man später die Herkunft der Werte zentral verändern (vl. sollen sie einmal aus einer Datenbank kommen), Überprüfungen durchführen, usw.

Mehr zur grundsätzlichen Verwendung von Spring Properties gibt es unter http://www.codersblog.de/properties-in-spring-4-und-spring-boot/

Schreibe einen Kommentar