Spring-boot pozwala nam na kilka metod zapewniania konfiguracji zewnętrznych, możesz spróbować użyć pliku application.yml lub yaml zamiast pliku właściwości i zapewnić różne ustawienia plików właściwości w zależności od różnych środowisk.
Możemy rozdzielić właściwości każdego środowiska na osobne pliki yml w osobnych profilach sprężynowych. Następnie podczas wdrażania możesz użyć:
java -jar -Drun.profiles=SpringProfileName
aby określić, który profil sprężyny ma zostać użyty. Pamiętaj, że pliki yml powinny mieć nazwy takie jak
application-{environmentName}.yml
aby były automatycznie podejmowane przez springboot.
Odniesienie: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties
Aby odczytać z pliku application.yml lub pliku właściwości:
Najprostszym sposobem, aby odczytać wartość z pliku właściwości lub yml jest użycie annotation.Spring wiosna @value automatycznie ładuje wszystkie wartości z yml do środowiska sprężyny, dzięki czemu możemy bezpośrednio korzystać z tych wartości ze środowiska, takich jak:
@Component
public class MySampleBean {
@Value("${name}")
private String sampleName;
// ...
}
Lub inna metoda, którą zapewnia wiosna, aby odczytać silnie typowane fasole, jest następująca:
YML
ymca:
remote-address: 192.168.1.1
security:
username: admin
Odpowiadający POJO do odczytania 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) { ... }
}
}
Powyższa metoda działa dobrze z plikami yml.
Odniesienie: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
Environment
lub via@ConfigurationProperties