spring-boot
बनाएँ और कई application.properties फ़ाइलों का उपयोग करें
खोज…
देव और अलग-अलग डेटा स्रोत का उपयोग करके उत्पादन करते हैं
सफलतापूर्वक स्प्रिंग-बूट एप्लिकेशन सेटअप करने के बाद सभी कॉन्फ़िगरेशन को एक application.properties फ़ाइल में संभाला जाता है। आप फ़ाइल को src/main/resources/
पर पाएंगे।
आम तौर पर आवेदन के पीछे एक डेटाबेस होना आवश्यक है। विकास के लिए अपनी अच्छी का एक सेटअप करने के लिए dev
और एक prod
वातावरण। कई application.properties
फ़ाइलों का उपयोग करके आप बता सकते हैं कि स्प्रिंग-बूट किस अनुप्रयोग के साथ शुरू होना चाहिए।
एक अच्छा उदाहरण दो डेटाबेस को कॉन्फ़िगर करना है। dev
लिए एक और productive
लिए एक।
dev
वातावरण के लिए आप H2
जैसे इन-मेमोरी डेटाबेस का उपयोग कर सकते हैं। src/main/resources/
निर्देशिका में एक नई फ़ाइल बनाएँ जिसका नाम application-dev.properties
। फ़ाइल के अंदर इन-मेमोरी डेटाबेस का कॉन्फ़िगरेशन है:
spring.datasource.url=jdbc:h2:mem:test
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
prod
माहौल के लिए हम उदाहरण के लिए "वास्तविक" डेटाबेस से postgreSQL
। src/main/resources/
निर्देशिका में एक नई फ़ाइल बनाएँ जिसका नाम application-prod.properties
। फ़ाइल के अंदर postgreSQL
डेटाबेस का कॉन्फ़िगरेशन है:
spring.datasource.url= jdbc:postgresql://localhost:5432/yourDB
spring.datasource.username=postgres
spring.datasource.password=secret
आपके डिफ़ॉल्ट application.properties
आप फ़ाइल को अब सेट कर पा रहे हैं कि कौन सी प्रोफ़ाइल सक्रिय है और इसका उपयोग स्प्रिंग-बूट द्वारा किया जाता है। बस एक विशेषता को अंदर सेट करें:
spring.profiles.active=dev
या
spring.profiles.active=prod
महत्वपूर्ण है कि भाग के बाद है -
में application-dev.properties
फ़ाइल के पहचानकर्ता है।
अब आप बस पहचानकर्ता को बदलकर विकसित या उत्पादन मोड में स्प्रिंग-बूट एप्लिकेशन शुरू करने में सक्षम हैं। इन-मेमोरी डेटाबेस स्टार्टअप या "वास्तविक" डेटाबेस से कनेक्शन होगा। यकीन है कि कई संपत्ति फ़ाइलों के लिए बहुत अधिक उपयोग के मामले हैं।
स्वचालित रूप से एप्लिकेशन (मावेन) बनाकर सही स्प्रिंग-प्रोफ़ाइल सेट करें
विभिन्न वातावरणों के लिए कई गुण फाइलें बनाकर या मामलों का उपयोग करते हुए, कभी-कभी इसे सक्रिय करने के लिए मुश्किल होता है। active.profile
मान को दाईं ओर बदलना। लेकिन active.profile
maven-profiles
का उपयोग करके एप्लिकेशन का निर्माण करते समय application.properties
में active.profile
सेट करने का एक तरीका है।
मान लीजिए कि हमारे आवेदन में तीन वातावरण संपत्ति फाइलें हैं:
application-dev.properties
:
spring.profiles.active=dev
server.port=8081
application-test.properties
:
spring.profiles.active=test
server.port=8082
application-prod.properties
।
spring.profiles.active=prod
server.port=8083
वे तीन फाइलें केवल पोर्ट और सक्रिय प्रोफ़ाइल नाम में भिन्न हैं।
मुख्य application.properties
फाइल में हम मावेन चर का उपयोग करके अपनी स्प्रिंग प्रोफाइल सेट करते हैं:
application.properties
।
spring.profiles.active=@profileActive@
उसके बाद हमें बस अपने pom.xml
में मावेन प्रोफाइल को जोड़ना होगा हम तीनों वातावरणों के लिए प्रोफाइल सेट करेंगे:
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<build.profile.id>dev</build.profile.id>
<profileActive>dev</profileActive>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<build.profile.id>test</build.profile.id>
<profileActive>test</profileActive>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<build.profile.id>prod</build.profile.id>
<profileActive>prod</profileActive>
</properties>
</profile>
</profiles>
अब आप मावेन के साथ एप्लिकेशन बनाने में सक्षम हैं। यदि आप किसी भी मावेन प्रोफ़ाइल को सेट नहीं करते हैं, तो इसका डिफ़ॉल्ट रूप से निर्माण होता है (इस उदाहरण में यह देव है)। निर्दिष्ट करने के लिए आपको एक मावेन कीवर्ड का उपयोग करना होगा। कीवर्ड है Maven में एक प्रोफ़ाइल सेट करने के लिए -P
सीधे प्रोफ़ाइल के नाम और उसके बाद: mvn clean install -Ptest
।
अब, आप कस्टम बिल्ड बनाने में भी सक्षम हैं और तेजी से बिल्ड के लिए अपनी IDE
में बचत करते हैं।
उदाहरण:
mvn clean install -Ptest
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.3.RELEASE)
2017-06-06 11:24:44.885 INFO 6328 --- [ main] com.demo.SpringBlobApplicationTests : Starting SpringApplicationTests on KB242 with PID 6328 (started by me in C:\DATA\Workspaces\spring-demo)
2017-06-06 11:24:44.886 INFO 6328 --- [ main] com.demo.SpringApplicationTests : The following profiles are active: test
mvn clean install -Pprod
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v1.5.3.RELEASE)
2017-06-06 14:43:31.067 INFO 6932 --- [ main] com.demo.SpringBlobApplicationTests : Starting SpringApplicationTests on KB242 with PID 6328 (started by me in C:\DATA\Workspaces\spring-demo)
2017-06-06 14:43:31.069 INFO 6932 --- [ main] com.demo.SpringApplicationTests : The following profiles are active: prod