הזרקה מבוססת XML באביב

1. הקדמה

במדריך בסיסי זה, נלמד כיצד לבצע תצורת שעועית פשוטה מבוססת XML בעזרת Spring Framework.

2. סקירה כללית

נתחיל בהוספת תלות הספריה של אביב ב pom.xml:

 org.springframework spring-context 5.1.4.RELEASE 

הגרסה האחרונה של תלות האביב נמצאת כאן.

3. הזרקת תלות - סקירה כללית

הזרקת תלות היא טכניקה לפיה תלות של אובייקט מסופקת על ידי מיכלים חיצוניים.

נניח שיש לנו מחלקת יישומים שתלויה בשירות שמטפל בפועל בהיגיון העסקי:

מחלקה ציבורית IndexApp {שירות IService פרטי; // בונים סטנדרטיים / גטרים / סטרים} 

עכשיו בואו נגיד שירות IS הוא ממשק:

ממשק ציבורי IService {public string string (); } 

ממשק זה יכול להכיל מספר יישומים.

בואו נסתכל במהירות על יישום פוטנציאלי אחד:

מחלקה ציבורית IndexService מיישמת את IService {@Override public String serve () {להחזיר "שלום עולם"; }} 

פה, IndexApp הוא רכיב ברמה גבוהה שתלוי ברכיב ברמה נמוכה הנקרא שירות IS.

למעשה, אנו מתנתקים IndexApp מיישום מסוים של שירות IS שיכולים להשתנות בהתאם לגורמים השונים.

4. הזרקת תלות - בפעולה

בואו נראה איך אנחנו יכולים להזריק תלות.

4.1. שימוש במאפיינים

בואו נראה כיצד נוכל לחבר את התלות יחד באמצעות תצורה מבוססת XML:

כפי שניתן לראות, אנו יוצרים מופע של IndexService ולהקצות לזה מזהה. כברירת מחדל, השעועית היא יחיד. כמו כן, אנו יוצרים מופע של IndexApp.

בתוך השעועית הזו, אנו מזריקים את השעועית השנייה בשיטת הקובע.

4.2. באמצעות קונסטרוקטור

במקום להזריק שעועית בשיטת הקובע, אנו יכולים להזריק את התלות באמצעות הבנאי:

4.3. שימוש במפעל סטטי

אנחנו יכולים גם להזריק שעועית שהוחזרה על ידי מפעל. בואו ניצור מפעל פשוט שמחזיר מופע של שירות IS בהתבסס על המספר שסופק:

class public StaticServiceFactory {public service ISNIC getNumber (int number) {// ...}} 

בואו נראה כיצד נוכל להשתמש בהטמעה שלמעלה כדי להזריק שעועית IndexApp באמצעות תצורה מבוססת XML:

בדוגמה שלעיל אנו קוראים לסטטי getService באמצעות שיטה שיטת מפעל ליצור שעועית עם מזהה messageService שאנו מזריקים לתוכם IndexApp.

4.4. באמצעות שיטת המפעל

בואו ניקח בחשבון מפעל מופעים שמחזיר מופע של שירות IS בהתבסס על המספר שסופק. הפעם, השיטה אינה סטטית:

מחלקה ציבורית InstanceServiceFactory {public IService getNumber (int מספר) {// ...}} 

בואו נראה כיצד נוכל להשתמש בהטמעה שלמעלה כדי להזריק שעועית IndexApp באמצעות תצורת XML:

בדוגמה שלעיל אנו קוראים getService שיטה על מופע של InstanceServiceFactory באמצעות שיטת מפעל ליצור שעועית עם מזהה messageService שאנחנו מזריקים פנימה IndexApp.

5. בדיקות

כך אנו יכולים לגשת לשעועית מוגדרת:

@ מבחן ציבורי בטל כאשר GetBeans_returnsBean () {ApplicationContext applicationContext = חדש ClassPathXmlApplicationContext ("..."); IndexApp indexApp = applicationContext.getBean ("indexApp", IndexApp.class); assertNotNull (indexApp); } 

6. מסקנה

במדריך מהיר זה, המחשנו דוגמאות כיצד אנו יכולים להזריק תלות באמצעות התצורה מבוססת ה- XML ​​באמצעות Spring Framework.

את יישום הדוגמאות הללו ניתן למצוא בפרויקט GitHub - זהו פרויקט מבוסס Maven, כך שיהיה קל לייבא ולהפעיל אותו כמות שהוא.


$config[zx-auto] not found$config[zx-overlay] not found