पर आधारित स्प्रिंग बूट एप्लिकेशन.प्रोपर्टी सेट करें मेरे पास एक स्प्रिंग बूट एप्लिकेशन है जो विभिन्न वातावरणों में चलाएगा और पर्यावरण के आधार पर चलता है, यह एक अलग डेटाबेस से कनेक्ट होगा।पर्यावरण परिवर्तनीय
application-local.properties
:
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://localhost:5432/mydb
spring.datasource.username=dbuser
spring.datasource.password=123456789
application-someserver.properties
: मैं कुछ application.properties
फ़ाइलें, एक प्रत्येक परिवेश के लिए है जो इस तरह की तरह लग रही है
spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://someserver:5432/myproddb
spring.datasource.username=produser
spring.datasource.password=productionpass
आदि आदि
में से प्रत्येक पर मेरी वातावरण, मेरे पास MYENV
नामक एक पर्यावरण चर है जो पूर्व के लिए पर्यावरण के प्रकार पर सेट है पर्याप्त local
या someserver
(application-{env}.properties
फ़ाइलों का नाम पूरी तरह से पर्यावरण के नाम से मेल खाता है)।
मैं इस पर्यावरण चर को पढ़ने के लिए वसंत बूट कैसे प्राप्त कर सकता हूं और स्वचालित रूप से सही .properties
फ़ाइल चुन सकता हूं? मैं इस पैकेज को तैनात करने के तरीके के कारण पूरे -Dspring.profiles.active=someserver
को नहीं करना चाहता (यह एक जार के रूप में नहीं चल रहा है)।
यह इतना है कि में env चर किसी भी फाइल से मेल नहीं खाता, एक मानक चुन लिया जाता है एक "डिफ़ॉल्ट" विन्यास के लिए संभव है? –
'spring.profiles.active = $ {MYENV: defaultValue}' –
इसके अलावा, 'application.properties' में डिफ़ॉल्ट और सामान्य कॉन्फ़िगरेशन डालें। इसका हमेशा उपयोग किया जाएगा लेकिन प्रोफाइल विशिष्ट कॉन्फ़िगरेशन के संबंध में कम प्राथमिकता के साथ –