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

درس دوازدهم : آموزش شی Inner Beans و کاربرد آن

آشنایی با شی Inner Beans و کاربرد آن

همانطور که میدانید ، کلاسهای درونی در جاوا ( Java inner classes ) کلاس هایی هستند که درون محدوده کد یک کلاس دیگر تعریف می شوند . به همین صورت inner beans نیز اشیای bean ی هستند که در درون محدوده کد یک bean دیگر تعریف می شوند . بنابراین یک که درون یک تگ یا تعریف شود ، یک inner bean نامیده شده و به صورت مثال زیر کدنویسی می شود :


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="outerBean" class="...">

      name="target">

         id="innerBean" class="..."/>
مثال عملی کار با inner bean :

بیاید با اجرای یک مثال عملی ، نحوه تعریف inner bean و استفاده از آن را در محیط Eclipse مشاهده کنیم . برای این منظور مراحل زیر را انجام دهید :


  1. یک پروژه جدید با نام SpringExample را ایجاد نموده و همچنین در زیر پوشه src پروژه ، پکیج tahlildadeh.com را اضافه کنید .
  2. همانطور که در درس آموزش ایجاد اولین برنامه Spring نشان دادیم ، به وسیله دکمه Add External JARs کتابخانه های مورد نیاز Spring را به پروژه خود اضافه کنید .
  3. در پکیج Com.tahlildadeh کلاس های جاوا Main App ، SpellChecker و TextEditor را اضافه نمایید .
  4. در پوشه Src پروژه ، فایل پیکربندی اطلاعات Beans.Xml را اضافه کنید .
  5. مرحله آخر تولید محتوای کلیه فایل های جاوا پروژه و تنظیم فایل پیکربندی اطلاعات به صورت زیر است .

محتویات فایل TextEditor.java بایستی به صورت زیر باشد :



public class TextEditor {

   private SpellChecker spellChecker;

    // a setter method to inject the dependency.

   public void setSpellChecker(SpellChecker spellChecker) {

      System.out.println("Inside setSpellChecker." );

      this.spellChecker = spellChecker;

   }

      // a getter method to return spellChecker

   public SpellChecker getSpellChecker() {

      return spellChecker;

   }

    public void spellCheck() {

      spellChecker.checkSpelling();

   }

} 

کد زیر نیز مربوط به فایل کلاس وابسته ( dependent class ) با نام SpellChecker است :



package com.tahlildadeh;

 public class SpellChecker {

   public SpellChecker(){

      System.out.println("Inside SpellChecker constructor." );

   }

    public void checkSpelling(){

      System.out.println("Inside checkSpelling." );

   }

   }

همچنین کد فایل اصلی برنامه یا MainApp.java به صورت زیر است :



package com.tahlildadeh;

 import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

 public class MainApp {

   public static void main(String[] args) {

      ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");

       TextEditor te = (TextEditor) context.getBean("textEditor");

       te.spellCheck();

   }

}

در نهایت نیز کد زیر مربوط به فایل پیکربندی اطلاعات برنامه یا Beabs,Xml می باشد . در کد زیر از روش Setter-based برای DI استفاده شده و اشیاء به صورت innerbeans تعریف شده اند :


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="textEditor" class="com.tahlildadeh.TextEditor">

       name="spellChecker">

          id="spellChecker" class="com.tahlildadeh.SpellChecker"/>

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



Inside SpellChecker constructor.

Inside setSpellChecker.

Inside checkSpelling.

1395/05/28 3494 1415
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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