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

درس ششم : آموزش تعریف Beans در Spring

Bean چیست و چه کاربردی دارد ؟ :

اشیایی که ستون فقرات برنامه شما را تشکیل داده و توسط Spring IOC Container مدیریت می شوند ، Beans می نامیم . یک Bean شی ای است که توسط یک Spring IOC Container معرفی ، ایجاد و اجرا شده است . این Bean ها ، توسط اطلاعات پیکربندی ( configuration metadata ) که برای یک Container فراهم نموده اید ( برای مثال توسط یک فایل XML با تگ ( ) ایجاد می شوند . به آموزش این روش در درس قبلی پرداختیم .
تعاریف لازم جهت یک Bean یا Bean Definition ، اطلاعاتی هستند که به آنها اطلاعات پیکربندی configuration metadata ) ) گفته و به Container موارد زیر را توضیح می دهند :


  • چگونگی ایجاد یک Bean
  • جزئیات مربوط به چرخه حیات یک Bean ( از ایجاد تا انهدام )
  • جزئیات مرتبط با Bean یا dependencies Bean`s .

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


  • Class : این خاصیت ضرروری بوده و کلاسی که بر مبنای آن Bean بایستی ساخته شود را مشخص می کند .
  • name : این خاصیت یک نام منحصر به فرد ( شناسه ) جهت شناسایی Bean در سطح برنامه تعریف می کند . در اطلاعات پیکربندی مبتنی بر XML ، شما میتوانید از خاصیت name یا id جهت تعیین شناسه منحصر به فرد برای Bean استفاده کنید .
  • Scape : این خاصیت محدوده عملیات و سطح دسترسی را جهت یک Bean تعیین میکند و در درس های بعدی به صورت ویژه بررسی خواهد شد .
  • Constructor_arg : از این خاصیت برای تعیین وابستگی های یک Bean استفاده شده و در درس بعدی به آن خواهیم پرداخت .
  • Properties : این خاصیت نیز برای تعیین وابستگی های یک Bean به کار رفته و در درس های بعد به آن خواهیم پرداخت .
  • antowriting mode : از این خاصیت نیز برای تزریق وابستگی ها به یک Bean استفاده شده و در درس بعدی به آن خواهیم پرداخت .
  • Lazy_initialization mode : روش Lazy_initialized به IOC Container میگوید تا نسخه ای از هر bean را در هنگامی که برای اولین بار درخواست می شود بسازد و نه درهنگام شروع و اجرای برنامه .
  • Initialization method : این خاصیت یک متد Call back است که بلافاصله پس از اینکه Container کلیه خواص مربوط به یک Bean را تنظیم کرد ، فراخوانی و اجرا می شود . به عبارت دیگر رویدادی است که پس از ساخته شدن یک Bean رخ می دهد . در درس بررسی سیکل زمانی یک Bean به تشریح کامل آن خواهیم پرداخت .
  • Destruction method : این خاصیت نیز یک متد Call back است که پس از نابود شدن Container ی که Bean موردنظر را تولید کرده ، فراخوانی و اجرا می شود . به عبارت دیگر رویدادی است که پس از نابود شدن یک Bean رخ می دهد . در درس بررسی سیکل زمانی یک Bean به تشریح بیشتر آن خواهیم پرداخت .

بررسی فایل Metadata Spring Configuration

Spring IOC Container به طور کامل فایلی جدا از فایل پیکربندی اطلاعات مرتبط با آن یا Configuration Metadata است . به طور کلی ، سه راه برای فراهم نمودن اطلاعات پیکربندی جهت یک Spring Container وجود دارد که عبارتند از :


  • فایل های پیکربندی مبتنی بر XML ( XML based configuration ).
  • فایل های پیکربندی مبتنی بر Annotation .
  • فایل های پیکربندی مبتنی بر Java .

در درس های قبلی باهم به بررسی نحوه ارسال اطلاعات پیکربندی ازطریق یک فایل XML به Container پرداختیم . اکنون می خواهیم مثال دیگری را درمورد فایل های XML بررسی کنیم که در آن از متدهای Lazy initialization ، متد initialization method و متد destruction method استفاده شده است . کد XML فایل مورد نظر به صورت زیر است :


xml version="1.0" encoding="UTF-8"?>

xmlns="http://www.springframework.org/schema/beans"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
  

   id="..." class="...">

   id="..." class="..." lazy-init="true">


   id="..." class="..." init-method="...">

   id="..." class="..." destroy-method="...">‎

برای آموزش کامل چگونگی ایجاد ، مقدار دهی و تنظیم یک Bean به درس آموزش نوشتن اولین برنامه Spring بروید .
درباره فایل های پیکربندی اطلاعات مبتنی بر Annotation در درس دیگری بحث خواهیم کرد . ماعمدا این درس را در یک مبحث جدا گذاشتیم ، تا قبل از شروع برنامه نویسی با Dependecy Injection و Annotations به تشریح چند مبحث مهم دیگر در Spring بپردازیم .


1395/05/17 9241 1726
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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