मॉड्यूल के तीन महत्वपूर्ण घटक
एक मॉड्यूल एप्लिकेशन की एक स्वतंत्र इकाई है जो एकल कार्यक्षमता का प्रतिनिधित्व करती है। एक मॉड्यूल में तीन महत्वपूर्ण घटक होते हैं:
- नाम: विशिष्ट रूप से पहचानने के लिए
- निर्भरताएं: अन्य मॉड्यूल्स जिन पर यह निर्भर करता है
- निर्यातित पैकेजेस: पैकेज जो बाहरी एप्लिकेशन के लिए खुले हैं
module-info.java फाइल
एक मॉड्यूल घोषित करने के लिए, हमें रूट सोर्स कोड में module-info.java फाइल जोड़ने की आवश्यकता है। module-info.java फाइल के घटकों में name, requires, exports, और exports to शामिल हैं।
module-info.java टेम्पलेट
module <module-name> {
requires <module-name1> ;
requires <module-name2>;
...
exports <package-name1>;
exports <package-name2>;
...
exports <package-name> to <module-name>;
}
घटकों का विवरण
- नाम: यह मॉड्यूल की एक महत्वपूर्ण विशेषता है। मॉड्यूलर सिस्टम नाम से एक मॉड्यूल की पहचान करता है, इसलिए यह अद्वितीय है।
- requires: यह क्लॉज निर्भरताओं और बाहरी मॉड्यूल को परिभाषित करने के लिए उपयोग किया जा सकता है जिस पर वर्तमान मॉड्यूल निर्भर करता है। module-info.java में प्रत्येक निर्भर मॉड्यूल के लिए अलग "requires" प्रविष्टि होनी चाहिए। Java 9 में एक बेस मॉड्यूल होता है। यह एक स्वतंत्र मॉड्यूल है जिसे किसी अन्य मॉड्यूल की आवश्यकता नहीं होती। हमें मॉड्यूल में "requires" क्लॉज का उपयोग करके इसे निर्दिष्ट करने की आवश्यकता नहीं है। यह बेस मॉड्यूल डिफ़ॉल्ट रूप से उपलब्ध है।
- exports: "exports" क्लॉज वर्तमान मॉड्यूल के निर्यातित पैकेजेस को परिभाषित करने के लिए है। ये पैकेज अन्य मॉड्यूल्स द्वारा उपयोग के लिए खुले हैं। module-info.java फाइल में प्रत्येक निर्यातित मॉड्यूल के लिए अलग "exports" प्रविष्टि होनी चाहिए।
- exports to: "exports to" क्लॉज एक पैकेज को सभी के लिए निर्यात करने के बजाय केवल विशिष्ट मॉड्यूल्स को निर्यात करने के लिए हैं।
module-info.java मॉड्यूल की सीमाओं और निर्भरताओं को परिभाषित करता है।