آموزش Java Spring
در معرفی Java Spring ، باید اینگونه شرح داد که اسپرینگ (Spring) یکی از پلتفرم های جاواست (Java) که
برای آماده سازی پشتیبانی جامع زیرساختارها، برای توسعه سریع و آسان برنامه های قدرتمند جاوا (Java) استفاده می شود. (Java
Sprin) معمول ترین قالب برای توسعه برنامه های Enterprise Java است. از جمله دلایل محبوبیت Java Spring می توان به ایجاد
کدهایی با قابلیت استفاده مجدد، قابلیت تست آسان و کدهایی با عملکرد بالا اشاره کرد.
Java Spring در متون مختلف، معانی متفاوت دارد. از عبارت Java Spring می توان برای ارجاع به پروژه
های نوشته شده در خود ساختار Java Spring استفاده کرد. اغلب، هدف افراد از بکارگیری عبارت Java Spring، مجموعه کامل پروژه
است؛ و این مستندسازی مرجع، بر اساس و پایه پروژه که همان Java Spring است، متمرکز است.
Java Spring دارای چندین ماژول است و برنامه ها می توانند ماژول های مورد نیاز خود را از میان
ماژول های Java Spring انتخاب کنند. کدهای Java Spring سبک و خوانا هستند، و ویژگی های پایه آنها را می توان در توسعه هر
برنامه ای از جاوا (Java) بکار گرفت. Java Spring بدنبال توسعه آسانتر J2EE ، برای بکارگیری و ارتقا پروژه های برنامه
نویسی با استفاده از مدل برنامه نویسی POJO است. علاوه بر این، Java Spring پشتیبانی ساختاری از امکانات مختلفی همچون
Messaging (پیام رسانی)، Transactional Data and Persistence (داده های تبادلی و نگهداری این داده ها)، و همچنین پشتیبانی
از ساختار وب را مهیا می سازد.
در این مجموعه، مقالاتی مفید از
Java Springرا در اختیار شما عزیزان قرار داده، تا بتوانید هر چه بیشتر با امکانات و زمینه های
کاربردی Java Spring آشنا شوید.
برای مشاهده دوره مرتبط با این مجموعه مقالات بر روی عبارت Java Spring کلیک کنید.
آموزش Dependency Injection-Java Spring
وظیفه مدیر IOC نمونه گیری، پیکربندی و اسمبل کردن اشیا است. مدیر IOC اطلاعات را از طریق یک فایل xml دریافت و بر اساس آن کار می کند. وظایف اصلی مدیر IOC عبارتند از:
تزریق وابستگی یک الگوی طراحی برای حذف وابستگی های کد برنامه است تا مدیریت و تست برنامه کاربردی ساده تر شود. تزریق وابستگی اتصال ضعیف(loosely coupled) در کد ایجاد می کند. برای درک بهتر DI بهتر است ابتدا درباره DL (Dependency lookup) بدانیم.
وابستگی را می توان توسط سازنده تزریق کرد. از زیر عنصر <constructor-arg> در <bean> برای تزریق سازنده استفاده می شود. در اینجا به تزریق موارد زیر می پردازیم:
اگر در بین کلاس ها رابطه HAS-A وجود داشته باشد، باید در ابتدا از اشیای وابسته نمونه بگیریم و سپس آن نمونه را به عنوان آرگومان سازنده کلاس اصلی پاس بدهیم. سناریو مورد نظر در اینجا Employee HAS-A Address است.....
در فریمورک اسپرینگ می توان توسط سازنده به تزریق مقادیر مجموعه پرداخت. در عنصر constructor-arg میتوان از سه عنصر list، set و map استفاده کرد. هر مجموعه میتواند مقادیر از نوع رشته و یا غیر رشته داشته باشد.....
در صورت داشتن شی وابسته در مجموعه، می توان با استفاده از عنصر ref درون list، set و map این اطلاعات را تزریق کرد. این مثال از یک فروم که" یک سوال می تواند چندین پاسخ داشته باشد" برداشته شده است، اما پاسخ، اطلاعات منحصر به خود را دارد .....
در این مثال می خواهیم از map به عنوان پاسخی که شامل پاسخ و نام کاربری فرستاده شده است، استفاده کنیم. در اینجا از جفت کلید و مقدار (key-value) به صورت رشته استفاده می کنیم. همانند مثال های قبلی، این مثال نیز برگرفته از فرومی است که" یک سوال می تواند چندین پاسخ داشته باشد" .
در این مثال از map به عنوان پاسخی که شامل پاسخ و کاربر است، استفاده می شود. در اینجا از جفت کلید و مقدار به عنوان شی استفاده می کنیم. اطلاعات پاسخ و کاربر به ترتیب عبارتند از .....
با استفاده از خصیصه والد(parent) مربوط به bean ، می توانیم رابطه وراثتی بین bean ها را مشخص کنیم. در چنین حالتی، مقادیر bean والد به bean فعلی به ارث می رسد. مثالی ساده از وراثت bean را با هم بررسی می کنیم.
علاوه بر روش های گفته شده، با استفاده از متد setter نیز میتوان وابستگی را تزریق کرد. برای تزریق setter .....
همانند تزریق سازنده، میتوان با استفاده از setter ها وابستگی bean دیگر را تزریق کرد. در چنین حالتی از عنصر خصیصه استفاده می کنیم. در اینجا سناریو ما Employee HAS-A Address است. شی کلاس آدرس به عنوان شی وابسته در نظر گرفته می شود. در ادامه کلاس آدرس را بررسی می کنیم...
در فریمورک اسپرینگ می توان با استفاده از متد setter به تزریق مقادیر مجموعه پرداخت. از سه عنصر list، set و map می توان داخل عنصر خصیصه(property) استفاده کرد. هر مجموعه می تواند مقادیر مبتنی بر رشته یا غیر رشته داشته باشد.....
در صورت وجود شی وابسته در مجموعه، می توان با استفاده از عنصر ref درون list ، set و map به تزریق اطلاعات پرداخت. در اینجا از عنصر list ، set یا map درون عنصر property استفاده می شود.....
در این مثال از map به عنوان پاسخ برای سوالی استفاده می کنیم که پاسخ را به عنوان کلید و نام کاربری را به عنوان مقدار دارد. در اینجا از جفت کلید و مقدار به صورت رشته استفاده می شود. همانند مثال های قبلی، این مثال نیز برگرفته از فرومی است که" یک سوال می تواند چندین پاسخ داشته باشد" .....
در این مثال از map به عنوان پاسخی استفاده می شود که شامل پاسخ و کاربر است. در اینجا جفت کلید و مقدار به عنوان شی در نظر گرفته می شود. پاسخ و کاربر هر کدام اطلاعات منحصر به خود را دارند که به ترتیب عبارتند از ........
تفاوت های کلیدی زیادی بین تزریق سازنده و تزریق setter وجود دارد....
ویژگی Autowiring در فریمورک اسپرینگ این قابلیت را به شما می دهد تا به صورت ضمنی به تزریق وابستگی اشیا بپردازید و برای این کار از تزریق setter یا سازنده استفاده می کند.....
فریمورک اسپرینگ به شما این قابلیت را می دهد تا با استفاده از متد factory ، bean تزریق کنید. به این منظور از دو ویژگی عنصر bean استفاده می کنیم.....