Mit Spring-Boot können wir auf verschiedene Weise externe Konfigurationen bereitstellen. Sie können versuchen, anstelle der Eigenschaftendatei application.yml- oder yaml-Dateien zu verwenden und je nach Umgebung unterschiedliche Eigenschaftendateien einzurichten.
Wir können die Eigenschaften für jede Umgebung in separate yml-Dateien unter separaten Federprofilen aufteilen. Während der Bereitstellung können Sie Folgendes verwenden:
java -jar -Drun.profiles=SpringProfileName
Geben Sie an, dass die yml-Dateien den Namen haben sollen
application-{environmentName}.yml
damit sie automatisch von springboot aufgenommen werden.
Referenz: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties
So lesen Sie aus der Datei application.yml oder der Eigenschaft:
Der einfachste Weg , einen Wert aus der Eigenschaftendatei oder der yml zu lesen, ist die Verwendung der Annotation spring @value. Spring lädt automatisch alle Werte aus der yml in die spring-Umgebung, sodass wir diese Werte direkt aus der Umgebung verwenden können, wie:
@Component
public class MySampleBean {
@Value("${name}")
private String sampleName;
// ...
}
Oder eine andere Methode, die der Frühling zum Lesen stark typisierter Bohnen bietet, ist folgende:
YML
ymca:
remote-address: 192.168.1.1
security:
username: admin
Entsprechender POJO zum Lesen des yml:
@ConfigurationProperties("ymca")
public class YmcaProperties {
private InetAddress remoteAddress;
private final Security security = new Security();
public boolean isEnabled() { ... }
public void setEnabled(boolean enabled) { ... }
public InetAddress getRemoteAddress() { ... }
public void setRemoteAddress(InetAddress remoteAddress) { ... }
public Security getSecurity() { ... }
public static class Security {
private String username;
private String password;
public String getUsername() { ... }
public void setUsername(String username) { ... }
public String getPassword() { ... }
public void setPassword(String password) { ... }
}
}
Die obige Methode funktioniert gut mit yml-Dateien.
Referenz: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
Environment
oder via@ConfigurationProperties