Spring-boot bize harici yapılandırmalar sağlamak için çeşitli yöntemler sağlar, özellik dosyası yerine application.yml veya yaml dosyalarını kullanmayı deneyebilir ve farklı ortamlara göre farklı özellik dosyaları kurulumu sağlayabilirsiniz.
Her ortamın özelliklerini ayrı yay profilleri altında ayrı yml dosyalarına ayırabiliriz.Ardından dağıtım sırasında şunları kullanabilirsiniz:
java -jar -Drun.profiles=SpringProfileName
Hangi yay profilinin kullanılacağını belirtmek için. yml dosyalarının adı gibi olması gerektiğini unutmayın
application-{environmentName}.yml
otomatik olarak springboot tarafından alınmaları için.
Referans : https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties
Application.yml veya özellik dosyasından okumak için:
En kolay yolu mülkiyet dosyasından bir değerini okumak veya yml doğrudan gibi çevreden bu değerleri kullanabilmesi için, bahar @value annotation.Spring otomatik yay çevreye YML gelen tüm değerleri yükler kullanmaktır:
@Component
public class MySampleBean {
@Value("${name}")
private String sampleName;
// ...
}
Ya da yayın kuvvetle yazılan fasulyeleri okumak için sağladığı başka bir yöntem şöyledir:
YML
ymca:
remote-address: 192.168.1.1
security:
username: admin
Yml okumak için karşılık gelen POJO:
@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) { ... }
}
}
Yukarıdaki yöntem yml dosyalarıyla iyi çalışır.
Referans: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
Environment
veya üzeri@ConfigurationProperties