کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش IoC Container-Java Spring

تزریق وابستگی (Dependency Injection)

مدیر IOC(IOC container)

وظیفه مدیر IOC نمونه گیری، پیکربندی و اسمبل کردن اشیا است. مدیر IOC اطلاعات را از طریق یک فایل xml دریافت و بر اساس آن کار می کند. وظایف اصلی مدیر IOC عبارتند از:

  • نمونه گیری از کلاس برنامه های کاربردی
  • پیکربندی اشیا
  • اسمبل کردن وابستگی ها بین اشیا

دو نوع مدیر IOC وجود دارد که عبارتند از BeanFactory و ApplicationContext .


تفاوت بین BeanFactory و ApplicationContext

دو واسط org.springframework.beans.factory.BeanFactory و org.springframework.context.ApplicationContext به عنوان مدیر IOC عمل می کنند. واسط ApplicationContext بر روی واسط BeanFactory ساخته شده است. این واسط چندین قابلیت اضافی به BeanFactory می افزاید که عبارتند از تجمیع با AOP اسپرینگ، مدیریت منابع پیام(برای I18N)، انتشار رویداد، محتوای خاص لایه کاربرد برای برنامه های وب(مانند WebApplicationContext). بنابراین بهتر است از ApplicationContext استفاده کنید تا BeanFactory .


استفاده از BeanFactory

XmlBeanFactory کلاس پیاده سازی واسط BeanFactory است. برای استفاده از BeanFactory باید نمونه ای از کلاس XmlBeanFactory را طبق کد زیر ایجاد کنیم.

1. Resource resource=new ClassPathResource("applicationContext.xml");

2. BeanFactory factory=new XmlBeanFactory(resource);


سازنده کلاس XmlBeanFactory شی منبع(Resource object) را دریافت می کند، بنابراین برای ایجاد یک شی از کلاس BeanFactory ابتدا نیاز به انتقال شی منبع داریم.


استفاده از ApplicationContext

کلاس ClassPathXmlApplicationContext پیاده سازی کلاس واسط ApplicationContext است. برای استفاده از ApplicationContext در ابتدا باید یک نمونه از کلاس ClassPathXmlApplicationContext را به صورت زیر ایجاد کنیم.

1. ApplicationContext context =

2. new ClassPathXmlApplicationContext("applicationContext.xml");


سازنده کلاس ClassPathXmlApplicationContext یک رشته دریافت می کند بنابراین برای ایجاد نمونه ApplicationContext می توانیم نام فایل xml را به آن پاس دهیم.

1398/12/13 4294 559
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...