2013-02-14 16 views
7

एक्सएमएल विन्यास में मैं निम्नलिखित कर सकते हैं:

<context:property-placeholder 
     location="file:${user.home}/.config}/api.properties" 
     ignore-resource-not-found="true" 
     system-properties-mode="OVERRIDE"/> 

जावा विन्यास में मैं निम्नलिखित करना होगा:

/** 
* @return a {@link org.springframework.context.support.PropertySourcesPlaceholderConfigurer} so that placeholders are correctly populated 
* @throws Exception exception if the file is not found or cannot be opened or read 
*/ 
@Bean 
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() throws Exception { 
    PropertySourcesPlaceholderConfigurer propConfig = new PropertySourcesPlaceholderConfigurer(); 
    Resource[] resources = new UrlResource[] 
      {new UrlResource("file:${user.home}/.config/api.properties")}; 
    propConfig.setLocations(resources); 
    propConfig.setIgnoreResourceNotFound(true); 
    propConfig.setIgnoreUnresolvablePlaceholders(true); 
    return propConfig; 
} 

हालांकि इस करता ' टी $ {user.home}

+0

किसी ने आज इसे उखाड़ फेंक दिया है, इसलिए मुझे नहीं पता कि यह एक डुप्लिकेट मायने रखता है, स्पष्ट रूप से इस समस्या को हल करने के लिए सही उत्तर है। इसके अलावा मुझे डुप्लिकेट नहीं मिल रहा है, क्या मॉडरेटर कृपया एक लिंक प्रदान कर सकते हैं? – shmish111

+0

यह उपर्युक्त वर्णित "उपयोगकर्ता बदलें। होम सिस्टम प्रॉपर्टी" का डुप्लिकेट नहीं है! यह संबंधित है, लेकिन वही नहीं! कृपया डुप्लिकेट बैनर हटाएं, या एक समान प्रश्न के लिए एक उचित लिंक प्रदान करें। – deluan

+0

यह एक डुप्लिकेट नहीं है, यह विशेष रूप से वसंत में गुणों का उपयोग करने का जिक्र कर रहा है, जिसमें इसका स्वयं का वाक्यविन्यास और कॉन्फ़िगरेशन विशेषताएँ http://www.baeldung.com/2012/02/06/properties-with-spring/ –

उत्तर

8

सिस्टम प्रॉपर्टी को संदर्भित करने के लिए ${sys:user.home} आज़माएं। सिस्टम पर्यावरण के लिए ${env:THE-ENV-VAR-NAME}

+0

काम नहीं करता <संदर्भ: संपत्ति-प्लेसहोल्डर सिस्टम-गुण-मोड = "पर्यावरण" ऑर्डर = "- 1" स्थान = "फ़ाइल: $ {env: user.home}/प्रबंधित/नवीनतम/बिन/आरएम-app.properties "/> –

+0

@ अरुण बीसी, अगर यह आपके लिए * काम नहीं करता है * यह डाउनवॉटिंग का कारण नहीं है। आपके मामले में कारण यह है कि आप सिस्टम वैरिएबल 'user.home' का उपयोग करना चाहते हैं और इसलिए सिंटैक्स' $ {sys: user.home} 'का उपयोग करना चाहिए। हालांकि आप पर्यावरण चर में बदल जाते हैं जो स्पष्ट रूप से मौजूद नहीं है। – AlexR