מבוא מהיר ל- SpringBootServletInitializer

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

במדריך זה, נעבור הקדמה מהירה של ה- SpringBootServletInitializer.

זוהי הרחבה של WebApplicationInitializer איזה מריץ א אביב יישום מארכיון המלחמה המסורתי נפרס על מיכל אינטרנט. המעמד הזה נקשר סרוולט, לְסַנֵן ו ServletContextInitializer שעועית מהקשר היישום לשרת.

הרחבת ה- SpringBootServletInitializer class מאפשר לנו גם להגדיר את היישום שלנו כאשר הוא מנוהל על ידי מיכל servlet, על ידי עקיפת ה- הגדר () שיטה.

2. SpringBootServletInitializer

כדי להיות מעשיים יותר, נראה דוגמה למעמד ראשי המרחיב את ה- אתחול מעמד.

שֶׁלָנוּ @ SpringBootApplication כיתה נקראת יישום WarInitializer מרחיב את SpringBootServletInitializer ועוקף את הגדר () שיטה. בשיטה זו משתמשים SpringApplicationBuilder פשוט לרשום את הכיתה שלנו ככיתת תצורה של היישום:

@SpringBootApplication מחלקה ציבורית WarInitializerApplication מרחיב את SpringBootServletInitializer {@Override מוגן SpringApplicationBuilder להגדיר (SpringApplicationBuilder בונה) {להחזיר builder.sources (WarInitializerApplication.class); } ראשי ריק סטטי ציבורי (String [] args) {SpringApplication sa = new SpringApplication (WarInitializerApplication.class); sa.run (טוען); } @ RestController מחלקה סטטית ציבורית WarInitializerController {@GetMapping ("/") מטפל מחרוזות ציבורי () {// ...}}} 

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

אם אנו רוצים לארוז אותו כקובץ JAR, נצטרך להוסיף את אותו ההיגיון ל- רָאשִׁי() שיטה כך שהמיכל המשובץ יכול להרים אותו גם כן.

3. מסקנה

במאמר זה הצגנו את SpringBootServletInitializer והדגמנו כיצד נוכל להשתמש בו להפעלת יישומי Spring Boot מארכיון WAR קלאסי.

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


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