मुझे लगता है कि इसके बाद के संस्करण की राय कुछ गलत, FileSystemXmlApplicationContext
अपने पूरे फाइल सिस्टम उपयोग नहीं कर सकते हो सकता है, क्या यह केवल स्कैन कर सकते हैं, अपने पूरे परियोजना आदेश मेरा निष्कर्ष साबित करने के लिए folder.In मैं एक उदाहरण बनाने के पहले ClasspathXmlApplicationContext
का उपयोग करके और सब कुछ सामान्य है, दूसरी बार जब मैं beans.xml फ़ाइल को अपने डेस्कटॉप फ़ोल्डर में ले जाता हूं, तो प्रोजेक्ट हिराची में कोई बीन्स.एक्सएमएल फ़ाइल नहीं है, और क्लासपाथएक्सएक्सप्लिकेशन कॉन्टेक्स्ट को FileSytemXmlApplicationContext
में बदलें और कुछ गलत हो गया है, नीचे त्रुटि का निशान:
INFO: Loading XML bean definitions from file [/Users/crabime/Development/IdeaProjects/springInterview/Users/crabime/Desktop/beans.xml]
Exception in thread "main" org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [/Users/crabime/Development/IdeaProjects/springInterview/Users/crabime/Desktop/beans.xml]; nested exception is java.io.FileNotFoundException: Users/crabime/Desktop/beans.xml (No such file or directory)
तो एफ ileSystemXmlAplicationContext केवल सभी प्रोजेक्ट को वर्तमान प्रोजेक्ट का पता लगा सकता है। उदाहरण के लिए यदि आप एक निर्देशिका जो परियोजना रूट निर्देशिका के अंतर्गत config
नामित करते हैं, और आप नीचे की तरह अपने मुख्य वर्ग कोड बदल सकते हैं:
ApplicationContext atx = new FileSystemXmlApplicationContext("/config/beans.xml");
और सब कुछ ठीक फिर से होगा। तो अगर sinuhepop की तरह सभी ने कहा कि मुझे लगता है कि कुछ बदलने की जरूरत है।
सेट किया गया है आप पहले से ही बताया कि कैसे वे उपयोग में अलग हैं DONOT।आंतरिक रूप से उनके पास अलग-अलग व्यवहार हैं जैसे XmlWebAplicationContent डिफ़ॉल्ट रूप से WEB-INF फ़ोल्डर में applicationContext.xml की तलाश करेगा। और यह अलग-अलग स्थान को कॉन्फ़िगर करने के लिए init पैरामीटर भी लेता है। असल में वे एक्सएमएल फाइलों को लोड करने के लिए विभिन्न दृष्टिकोणों का उपयोग करेंगे। – Seshagiri