स्प्रिंग-बूट हमें कई तरीकों से बाहरी कॉन्फ़िगरेशन प्रदान करने की अनुमति देता है, आप प्रॉपर्टी फ़ाइल के बजाय application.yml या yaml फ़ाइलों का उपयोग करके कोशिश कर सकते हैं और विभिन्न वातावरणों के अनुसार अलग-अलग प्रॉपर्टी फ़ाइलें सेटअप प्रदान कर सकते हैं।
हम अलग-अलग स्प्रिंग प्रोफाइल के तहत अलग-अलग yml फ़ाइलों में प्रत्येक पर्यावरण के लिए गुणों को अलग कर सकते हैं। फिर तैनाती के दौरान आप उपयोग कर सकते हैं:
java -jar -Drun.profiles=SpringProfileName
निर्दिष्ट करने के लिए कि कौन सी स्प्रिंग प्रोफ़ाइल का उपयोग करना है। ध्यान दें कि yml फ़ाइलों का नाम जैसा होना चाहिए
application-{environmentName}.yml
उनके लिए स्प्रिंगबूट द्वारा स्वचालित रूप से उठाया जाना चाहिए।
संदर्भ: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html#boot-features-external-config-profile-specific-properties
Application.yml या संपत्ति फ़ाइल से पढ़ने के लिए:
प्रॉपर्टी फ़ाइल या yml से मान पढ़ने का सबसे आसान तरीका है, स्प्रिंग @value एनोटेशन का उपयोग करना। स्वचालित रूप से yml से स्प्रिंग वातावरण तक सभी मानों को स्वचालित रूप से लोड किया जाता है, इसलिए हम सीधे पर्यावरण से उन मानों का उपयोग कर सकते हैं:
@Component
public class MySampleBean {
@Value("${name}")
private String sampleName;
// ...
}
या एक अन्य विधि जो वसंत जोरदार टाइप की हुई फलियों को पढ़ने के लिए प्रदान करता है वह इस प्रकार है:
YML
ymca:
remote-address: 192.168.1.1
security:
username: admin
Yml पढ़ने के लिए 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) { ... }
}
}
उपरोक्त विधि yml फ़ाइलों के साथ अच्छी तरह से काम करती है।
संदर्भ: https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
Environment
या के माध्यम से प्राप्त कर सकते हैं@ConfigurationProperties