Spring-boot cho phép chúng tôi một số phương pháp để cung cấp các cấu hình bên ngoài, bạn có thể thử sử dụng các tệp application.yml hoặc yaml thay vì tệp thuộc tính và cung cấp các thiết lập tệp thuộc tính khác nhau theo các môi trường khác nhau.
Chúng tôi có thể tách các thuộc tính cho từng môi trường thành các tệp yml riêng biệt trong các cấu hình lò xo riêng biệt. Sau đó, trong quá trình triển khai, bạn có thể sử dụng:
java -jar -Drun.profiles=SpringProfileName
để chỉ định sử dụng cấu hình lò xo nào. Lưu ý rằng các tệp yml phải có tên như
application-{environmentName}.yml
cho chúng được tự động đưa lên bởi springboot.
Tham khảo: https://docs.spring.io/spring-boot/docs/civerse/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-propericat
Để đọc từ tệp application.yml hoặc thuộc tính:
Các cách đơn giản nhất để đọc một giá trị từ tập tin bất động sản hoặc yml là sử dụng annotation.Spring mùa xuân @value tự động tải tất cả các giá trị từ yml đối với môi trường mùa xuân, vì vậy chúng ta có thể trực tiếp sử dụng những giá trị từ môi trường như:
@Component
public class MySampleBean {
@Value("${name}")
private String sampleName;
// ...
}
Hoặc một phương pháp khác mà mùa xuân cung cấp để đọc các loại đậu được gõ mạnh như sau:
YML
ymca:
remote-address: 192.168.1.1
security:
username: admin
POJO tương ứng để đọc 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) { ... }
}
}
Phương pháp trên hoạt động tốt với các tệp yml.
Tham khảo: https://docs.spring.io/spring-boot/docs/civerse/reference/html/boot-features-external-config.html
Environment
hoặc qua@ConfigurationProperties