خانه / اسپرینگ / چرخه حیات Bean ها

چرخه حیات Bean ها

تا حدودی با Spring و تنظیمات آن آشنا شدیم ، همچنین دیدیم که Bean ها اصلی ترین جز آن هستند ، در این آموزش به صورت مختصر با چرخه حیات Bean ها آشنا می شویم.

یک Bean  در طول حیات خود ساخته شده ، استفاده می شود و سپس از بین رفته و از حافظه پاک می شود. به صورت کلی چرخه حیات یک Bean را می توان به صورت زیر نمایش داد :

bean%20life%20cycle%201

در میان متد های مختلفی از جمله setBeanName  و setBeanFactory و setApplicationContext و غیره فراخوانی می شوند که در این آموزش به آن ها نمی پردازیم.

آنچه در پشت صحنه چرخه حیات یک Bean و در قلب فریم ورک Spring اتفاق می افتد کمی پیچیده است و نیازی نداریم تا در ابتدای کار با تمام جزئیات آن آشنا شویم.در این آموزش فقط دو قسمت مهم از چرخه حیات Bean را بررسی می کنیم  :

  • init
  • destroy

init :

این مرحله درست بعد از ایجاد شدن Bean رخ می دهد ، می توانیم در این مرحله صفات و مقادیر خاصی را به Bean نسبت دهیم. برای انجام عمل init راه حل های مختلفی در پیش رو داریم.

۱٫ استفاده از InitializingBean :

InitializingBean یک interface است که متد afterPropertiesSet را در اختیار ما قرار می دهد و می توانیم در آن عمل init را انجام دهیم.

 

۲٫ استفاده از init-method در فایل xml

اگر از xml برای تنظیم و پیکره بندی استفاده کنیم می توانیم با استفاده از صفت init-method نام یک متد از نوع void و بدون پارامتر ورودی را مشخص کنیم که عمل init در آن انجام شود.

 

۳٫ استفاده از PostConstruct@

متدی که با این Annotation مشخص شود بعد از سازنده فراخوانی می شود.

 

destroy:

این مرحله قبل از از بین رفتن Bean رخ می دهد و در آن می توانیم تنظمیات خاصی را انجام دهیم .

همانند مرحله init این مرحله را نیز می توانیم به سه طریق کنترل کنیم :

۱٫استفاده از DisposableBean

DisposableBean یک interface است که متد destroy را در اختیار ما قرار می دهد و می توانیم در آن عملیات دلخواهمان را انجام دهیم.

 

۲٫استفاده از destroy-method در فایل xml

در صورتی که از فایل xml برای پیکره بندی استفاده کنیم می توانیم از صفت destroy-method استفاده کنیم .

۳٫استفاده از PreDestroy@

 

چرخه حیات در عمل :

بهتر است در عمل با چرخه حیات Bean ها آشنا شویم .

مانند آموزش های قبل یک پروژه جدید مبتنی بر Spring ایجاد می کنیم.

یک کلاس جدید  به نام MyBean به صورت زیر ایجاد می کنیم :

فایل myConfig.xml را به صورت زیر ایجاد می کنیم :

کلاس Main را به صورت زیر ایجاد می کنیم :

برنامه را اجرا می کنیم ، خروجی به صورت زیر خواهد بود

این بار کلاس MyBean را به صورت زیر تغییر می دهیم :

فایل myConfig.xml را نیز به صورت زیر تغییر می دهیم :

برنامه را اجرا می کنیم ، خروجی به صورت زیر خواهد بود :

حالت ترکیبی ، این بار به صورت ترکیبی انجام می دهیم تا تقدم afterPropertiesSet و destroy را درک کنیم .

فایل MyBean را به صورت زیر تغییر می دهیم :

برنامه را اجرا می کنیم ، خروجی به صورت زیر خواهد بود :

 

—————

منبع: برگرفته از مقاله ای در safecomp.ir

درباره ی حسن زعفرانی

حسن زعفرانی هستم! مهندس کامپیوتر و برنامه نویس!! توی هرچی دلتون بخواد کد زدم!! پایتون یه چیز دیگه بود ولی جاوا ..... ما رو دنبال کنید

همچنین ببینید

مقدمه ای بر اسپرینگ

مقدمه ای بر اسپرینگ چارچوب[۱] اسپرینگ یک چارچوب نرم افزاری و یک ظرف[۲] کنترل وارونگی[۳] …

پاسخ دهید

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