יישום קונסולת אתחול האביב
1. סקירה כללית
במדריך מהיר זה, נחקור כיצד ליצור יישום פשוט מבוסס קונסולה באמצעות Spring Boot.
2. תלות Maven
הפרויקט שלנו מסתמך על ההורה האביבי:
org.springframework.boot spring-boot-starter-parent 2.2.2.RELEASE
התלות הראשונית הנדרשת היא:
org.springframework.boot spring-boot-starter
3. יישום קונסולה
יישום הקונסולה שלנו מורכב ממעמד יחיד: SpringBootConsoleApplication.java - זו המחלקה העיקרית ליישום קונסולת Boot Boot.
אנחנו משתמשים האביב @ SpringBootApplication ביאור במחלקה הראשית שלנו כדי לאפשר תצורה אוטומטית.
מחלקה זו גם מיישמת האביב CommandLineRunner מִמְשָׁק. CommandLineRunner הוא ממשק Spring Boot פשוט עם לָרוּץ שיטה. אתחול האביב יתקשר אוטומטית ל- לָרוּץ שיטת כל השעועית המיישמת ממשק זה לאחר טעינת הקשר היישום.
הנה יישום הקונסולה שלנו:
@SpringBootApplication מחלקה ציבורית SpringBootConsoleApplication מיישם את CommandLineRunner {לוגר סטטי פרטי LOG = LoggerFactory .getLogger (SpringBootConsoleApplication.class); ראשי ריק סטטי ציבורי (String [] args) {LOG.info ("הפעלת היישום"); SpringApplication.run (SpringBootConsoleApplication.class, args); LOG.info ("היישום הסתיים"); } @ ביטול הפעלה בטלנית ציבורית (String ... args) {LOG.info ("EXECUTING: runner line command"); עבור (int i = 0; i <args.length; ++ i) {LOG.info ("args [{}]: {}", i, args [i]); }}}
עלינו לציין גם את spring.main.web-application-type = NONE רכוש מעיין. מאפיין זה יידע במפורש את אביב שלא מדובר ביישום אינטרנט.
כשאנחנו מבצעים SpringBootConsoleApplicationאנו יכולים לראות את הרשומות הבאות:
00: 48: 51.888 [main] INFO cbsSpringBootConsoleApplication - התחלת היישום 00: 48: 52.752 [main] INFO cbsSpringBootConsoleApplication - לא הוגדרה פרופיל פעיל, חזרה לפרופילי ברירת המחדל: ברירת מחדל 00: 48: 52.851 [main] INFO oscaAnnotationConfigApplication - רענון org.spring [מוגן בדוא"ל] 6497b078: תאריך ההפעלה [שבת 16 ביוני 00:48:52 IST 2018]; שורש ההיררכיה של ההקשר 00: 48: 53.832 [main] INFO osjeaAnnotationMBeanExporter - רישום שעועית לחשיפת JMX בהפעלה 00: 48: 53.854 [main] INFO cbsSpringBootConsole יישום - ביצוע: רץ שורת פקודה 00: 48: 53.854 [ראשי] INFO cbs SpringBootConsoleApplication - טענות [0]: שלום עולם! 00: 48: 53.860 [main] INFO cbsSpringBootConsoleApplication - התחיל SpringBootConsoleApplication תוך 1.633 שניות (JVM פועל למשך 2.373) 00: 48: 53.860 [main] INFO cbsSpringBootConsole יישום - יישום סיים 00: 48: 53.868 [Threadconfigation] - סגירת org.spring [מוגן בדוא"ל] 6497b078: תאריך ההפעלה [שבת 16 ביוני 00:48:52 IST 2018]; שורש ההיררכיה של ההקשר 00: 48: 53.870 [חוט -2] מידע info
שימו לב שה- לָרוּץ השיטה נקראת לאחר טעינת ההקשר של היישום, אך לפני ביצוע ה- רָאשִׁי השיטה הושלמה.
ברוב יישומי הקונסולה יהיה רק מחלקה אחת המיושמת CommandLineRunner. אם ליישום שלך יש מספר שיעורים שמיישמים CommandLineRunner, ניתן לציין את סדר הביצוע באמצעות Spring's @להזמין ביאור.
4. מסקנה
במאמר זה סיכמנו כיצד ליצור יישום פשוט מבוסס קונסולה באמצעות Spring Boot.
קוד המקור המלא של הדוגמאות שלנו כאן, כמו תמיד, הסתיים ב- GitHub.