मेरे पास एक स्प्रिंग बीन में निम्नलिखित है:
@Value("${myValue}")
private String value;
मान सही ढंग से इंजेक्ट किया गया है। हालाँकि, चर को वैकल्पिक होने की आवश्यकता है, इसे कमांड लाइन पैरामीटर के रूप में पारित किया जाता है (जो कि एक SimpleCommandLinePropertySource का उपयोग करके स्प्रिंग संदर्भ में जोड़ा जाता है ), और यह तर्क हमेशा मौजूद नहीं होगा।
मैंने डिफ़ॉल्ट मान प्रदान करने के लिए निम्नलिखित दोनों की कोशिश की है:
@Value("${myValue:}")
@Value("${myValue:DEFAULT}")
लेकिन प्रत्येक मामले में, बृहदान्त्र के बाद डिफ़ॉल्ट तर्क को वास्तविक मूल्य होने पर भी इंजेक्ट किया जाता है - यह प्रकट होता है कि स्प्रिंग को क्या इंजेक्ट करना चाहिए।
यह निर्दिष्ट करने का सही तरीका क्या है कि @Value की आवश्यकता नहीं है?
धन्यवाद
@Value("${some.prop:}")
मेरे लिए काम करता है। उस वेरिएबल पर केवल यही एनोटेशन है।