2016-04-26 7 views
5

मैं वास्तव में वसंत के लिए नया हूँ। मैं वसंत बूट द्वारा प्रदान की गई बाहरी कॉन्फ़िगरेशन सुविधा का उपयोग करता हूं। यह अच्छी तरह से काम करता है और मैंने इसे कई विन्यास वर्गों में प्रयोग किया, अक्सर डिफ़ॉल्ट मानों के साथ। अब मैं उपयोग की गई विन्यास गुणों पर एक सिंहावलोकन प्राप्त करना चाहता हूं। इसका मतलब है कि मुझे @Value(...) या @ConfigurationProperties(prefix = ...) के साथ सेट की गई सभी गुणों को जानने की आवश्यकता है। क्या इस जानकारी को वसंत से प्राप्त करने का कोई तरीका है? मैं इसे प्रतिबिंब के साथ कर सकता हूं लेकिन मुझे लगता है कि यह सबसे अच्छा तरीका नहीं है।क्या स्प्रिंग बूट में सभी कॉन्फ़िगरेशन गुणों के नाम प्राप्त करने का कोई तरीका है?

+3

वसंत-बूट में एक्ट्यूएटर कार्यक्षमता इन्हें अंतराल में से एक के रूप में उजागर करेगी, ताकि आप स्रोत को देख सकें और देखें कि वे इसे कैसे कर रहे हैं। – cjstehno

+0

ठीक है, धन्यवाद। मैंने [configprops endpoint] का उपयोग किया (https://github.com/spring-projects/spring-boot/blob/10012cfddc5479ee9a5cbe98bfe4f76483965bd1/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/ ConfigurationPropertiesReportEndpoint.java) इसका परीक्षण करने के लिए, लेकिन यह केवल '@ कॉन्फ़िगरेशनप्रॉपर्टीज (उपसर्ग = ...)' द्वारा कॉन्फ़िगर किए गए सार्वजनिक सदस्यों के लिए काम करता है। – Chris

+0

आप मेरे तीसरे पक्ष के स्प्रिंग एक्ट्यूएटर एंडपॉइंट को आजमा सकते हैं जो गुणों और उनके स्प्रिंग कॉन्फ़िगरेशन मेटाडेटा का खुलासा करता है। वैकल्पिक फ़िल्टरिंग/शामिल/बहिष्कृत: https://github.com/ethlo/spring-actuator-addons/tree/master/spring-actuator-config –

उत्तर

0

यदि आप STS का उपयोग कर रहे हैं तो एक पूर्ण पूर्ण सुविधा के साथ application.properties फ़ाइल के लिए एक विशेष संपादक है। यदि आप ग्रहण का उपयोग कर रहे हैं, तो आपको उस कक्षा में जाना होगा जिसे आप कॉन्फ़िगर करना चाहते हैं और कोड में @ वैल्यू एनोटेशन जांचें।

+1

धन्यवाद, लेकिन यह मेरी समस्या का समाधान नहीं करता है। मैं myselve द्वारा प्रोग्राम का विस्तार करने में सक्षम होना चाहता हूं या इसे अन्य डेवलपर्स को देना चाहता हूं जो इसे प्रत्येक फ़ाइल प्रविष्टि को संपत्ति फ़ाइल में हाथ से लिखने के बिना बढ़ाते हैं। इस प्रकार मैंने आशा की थी कि प्रोग्राम शुरू होने के बाद एक नई प्रॉपर्टी फ़ाइल में डिफ़ॉल्ट मानों सहित संपूर्ण कॉन्फ़िगरेशन लिखना संभव होगा। एसटीएस संपादक का उपयोग करके मुझे अभी भी सभी कॉन्फ़िगरेशन गुणों को जानने के द्वारा कॉन्फ़िगरेशन को लेखक की आवश्यकता है। – Chris

+0

आप मेटा-आईएनएफ/अतिरिक्त-वसंत-कॉन्फ़िगरेशन-मेटाडाटा.जेसन नामक एक फ़ाइल बना सकते हैं और इस तरह की सामग्री जोड़ सकते हैं: {"गुण": [{ "नाम": "my.att", "टाइप" : "java.lang.String", "description": आप जोड़ सकते हैं आप में application.properties }]} " 'my.att' के लिए एक विवरण": my.att = 20 एसटीएस का उपयोग करना , स्वत: पूर्ण मेटाडेटा फ़ाइल में दिए गए विवरण के साथ उपलब्ध होगा। यहां अधिक जानकारी: https://docs.spring.io/spring-boot/docs/current/reference/html/configuration-metadata.html – Sigrist

+0

प्रोग्राम के डेवलपर्स के लिए एक संभावित तरीका है। लेकिन मैं चाहता हूं कि प्रोग्राम के उपयोगकर्ताओं (बिना विशेष संपादकों के) को एक डिफ़ॉल्ट कॉन्फ़िगरेशन (जैसे मौजूदा कॉन्फ़िगरेशन दूषित हो) को केवल कॉन्फ़िगरेशन फ़ाइल को हटाकर और प्रोग्राम को पुनरारंभ करने के लिए अनुमति दें। इसलिए मुझे यह जानने की ज़रूरत है कि कोई कक्षा है जिसे मैं ओवरराइट कर सकता हूं और एक डिफ़ॉल्ट कॉन्फ़िगरेशन फ़ाइल बनाने के लिए आवश्यक जानकारी प्राप्त कर सकता हूं। – Chris

संबंधित मुद्दे