איך להשיג את כל השעועית המנוהלת באביב?

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

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

2. מיכל ה- IoC

שעועית היא הבסיס ליישום המנוהל על ידי אביב; כל השעועית שוכנת עם מיכל ה- IOC, האחראי על ניהול מחזור חייהם.

אנו יכולים לקבל רשימה של כל השעועית בתוך מיכל זה בשתי דרכים:

  1. באמצעות א ListableBeanFactory מִמְשָׁק
  2. באמצעות מפעיל אתחול קפיץ

3. שימוש ListableBeanFactory מִמְשָׁק

ה ListableBeanFactory ממשק מספק getBeanDefinitionNames () שיטה המחזיר את שמות כל השעועית שהוגדרה במפעל זה. ממשק זה מיושם על ידי כל מפעלים השעועית המעמיסים מראש את הגדרות השעועית שלהם כדי למנות את כל מקרי השעועית שלהם.

תוכל למצוא את רשימת ממשקי המשנה הידועים ושיעורי היישום שלה בתיעוד הרשמי.

לדוגמא זו נשתמש ביישום אתחול האביב.

ראשית, ניצור כמה שעועית אביבית. בואו ניצור בקר קפיצי פשוט FooController:

@Controller FooController בכיתה ציבורית {@ FooService פרטי פרטית מאושרת; @RequestMapping (value = "/ displayallbeans") מחרוזת ציבורית getHeaderAndBody (מודל מפה) {model.put ("כותרת", fooService.getHeader ()); model.put ("הודעה", fooService.getBody ()); להחזיר "שעועית תצוגה"; }}

בקר זה תלוי בשעועית אביב אחרת FooService:

@Service בכיתה ציבורית FooService {public מחרוזת getHeader () {להחזיר "הצג את כל השעועית"; } ציבורי מחרוזת getBody () {return "זו יישום לדוגמא שמציג את כל השעועית" + "במיכל ה- IoC של Spring באמצעות ממשק ListableBeanFactory" + "ומפעילי אתחול האביב."; }}

שים לב שיצרנו כאן שתי שעועית שונות:

  1. fooController
  2. fooService

בעת ביצוע יישום זה, נשתמש applicationContext התנגד וקרא לו getBeanDefinitionNames () שיטה, שתחזיר את כל השעועית שלנו applicationContext מְכוֹלָה:

@ SpringBootApplication מחלקה ציבורית יישום {פרטי סטטי ApplicationContext applicationContext; main public static void (String [] args) {applicationContext = SpringApplication.run (Application.class, args); displayAllBeans (); } חלל סטטי ציבורי displayAllBeans () {String [] allBeanNames = applicationContext.getBeanDefinitionNames (); עבור (String beanName: allBeanNames) {System.out.println (beanName); }}}

פעולה זו תדפיס את כל השעועית מ applicationContext מְכוֹלָה:

fooController fooService // שעועית אחרת

שים לב שיחד עם שעועית שהגדרנו על ידינו, זה גם יתעד את כל השעועית האחרת שנמצאת במיכל זה. לשם הבהרה, השמטנו אותם כאן מכיוון שיש די הרבה כאלה.

4. שימוש במפעיל אתחול האביב

הפונקציונליות של Spring Boot Actuator מספקת נקודות קצה המשמשות לניטור הסטטיסטיקה של היישום שלנו.

הוא כולל נקודות קצה מובנות רבות, כולל /שעועית. זה מציג רשימה מלאה של כל השעועית המנוהלת באביב ביישום שלנו. תוכל למצוא את הרשימה המלאה של נקודות הקצה הקיימות במסמכים הרשמיים.

עכשיו פשוט נלחץ לכתובת האתר //:/שעועית. אנו יכולים להשתמש ביציאת שרת ברירת המחדל שלנו אם לא ציינו יציאת ניהול נפרדת. זה יחזיר א ג'סון תגובה המציגה את כל השעועית בתוך מיכל IoC האביב:

[{"context": "application: 8080", "parent": null, "beans": [{"bean": "fooController", "aliases": [], "scope": "singleton", "type" : "com.baeldung.displayallbeans.controller.FooController", "resource": "file [E: / סביבת עבודה / tutorials-master / spring-boot / target /classes/com/baeldung/displayallbeans/controller/FooController.class]" , "תלות": ["fooService"]}, {"שעועית": "fooService", "aliases": [], "scope": "singleton", "type": "com.baeldung.displayallbeans.service.FooService "," resource ":" file [E: / סביבת עבודה / tutorials-master / spring-boot / target / classes / com / baeldung / displayallbeans / service / FooService.class] "," תלות ": []}, // ... שעועית אחרת]}]

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

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

5. מסקנה

במאמר זה למדנו כיצד להציג את כל השעועית ב- מיכל IoC אביב באמצעות ListableBeanFactory ממשק ומפעילי אתחול קפיץ.

ה יישום מלא של הדרכה זו ניתן למצוא באתר Github.