اسپرینگ فریم ورک و تزریق وابستگی

اسپرینگ فریم ورک و تزریق وابستگی

spring application contextظرفی است که اسپرینگ برای ایجاد و مدریت کامپوننت‌ها‌ی یک برنامه ارائه می‌دهد.این کامپوننت‌ها و bean ها درون این ظرف با متصل شدن به یک دیگر(وابستگی هایی که به یکدیگر دارند) یک اپلیکیشن کامل را تشکیل می دهند.این متصل شدن کامپونت ها یه یک دیگر براساس یک الگوی شناخته شده به نام dependency injection می‌باشد.در یک کامپونتت وقتی نیاز به یک کامپونتت دیگر داریم یا به اصطلاح یک کامپونتت به یک کامپونتت دیگر وابستگی دارد به جای اینکه شی‌ای از یک کامپونتت را درون کامپونتت دیگر بسازیم و نگهداری کنیم. از قانون تزریق وابستگی استفاده می کنیمبرای مثال وقتی کلاس A درون خود به یک شی از کلاس B نیاز دارد به جای اینکه یک شی از کلاس B را درون خود ایجاد کرده و استفاده کندمی توانیم به صورت زیر یک شی از کلاس B را به عنوان یکی از آرگومان های سازنده کلاس A پاس بدهیم.public class A{B b;public A(B b){this.b = b;}}ایده اصلی Dependency Injection این می باشد که اتصالات و وابستگی را بصورت جدا از هم ایجاد کند، بصورتی که کلاس مادر یا شی ایجاد شده به راحتی قابل آزمایش و اجرا باشد.اصولا مشکل زمانی پیش خواهد آمد که ما یک کلاس را ایجاد کرده باشیم و در آینده بخوایم در یک شی تغییراتی ایجاد کنیم، این تغییرات بسیار دشوار می باشد چرا که اگر از تزریق وابستگی استفاده نکرده باشیم باید تمام نونه های آن شی را تغییر دهیم.همانطور که در شکل زیر مشاهده می کنید . قبلا برای معرفی کردن این وابستگی ها به spring باید این ارتباط ها را در قالب یک فایل XML معرفی میکردیم. و در نسخه های اخیر spring می توانیم با ایجاد کلاس های پیکربندی بر اساس کد جاوا و علامت گذاری آن‌ها با انوتیشن @Configuration و معرفی کامپوننت ها و وابستگی آن‌ها با استفاده از انوتیشن @Bean به اسپرینگ.

Author: admin

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *