Stručný úvod do SpringBootServletInitializer

1. Prehľad

V tomto tutoriáli si predstavíme rýchle predstavenie SpringBootServletInitializer.

Toto je rozšírenie o WebApplicationInitializer ktoré prevádzkuje a SpringApplication z tradičného archívu WAR nasadené na webovom kontajneri. Táto trieda zaväzuje Servlet, Filtrovať a ServletContextInitializer fazuľa z kontextu aplikácie na server.

Predĺženie SpringBootServletInitializer trieda tiež umožňuje nakonfigurovať našu aplikáciu, keď je spustená kontajnerom servletu, prepísaním Konfigurovať () metóda.

2. SpringBootServletInitializer

Aby sme boli praktickejší, ukážeme si príklad hlavnej triedy, ktorá rozširuje Inicializátor trieda.

Náš @SpringBootApplication trieda volala WarInitializerApplication rozširuje SpringBootServletInitializer a potlačí Konfigurovať () metóda. Táto metóda používa SpringApplicationBuilder jednoducho zaregistrovať našu triedu ako konfiguračnú triedu aplikácie:

@SpringBootApplication verejná trieda WarInitializerApplication rozširuje SpringBootServletInitializer {@Override chránená SpringApplicationBuilder configure (SpringApplicationBuilder builder) {return builder.sources (WarInitializerApplication.class); } public static void main (String [] args) {SpringApplication sa = new SpringApplication (WarInitializerApplication.class); sa.run (args); } @RestController public static class WarInitializerController {@GetMapping ("/") public String handler () {// ...}}} 

Teraz, ak zabalíme našu aplikáciu ako VOJNA, budeme ju môcť nasadiť na akýkoľvek webový kontajner tradičným spôsobom, ktorý tiež vykoná logiku, ktorú sme pridali do Konfigurovať () metóda.

Ak to chceme zabaliť ako súbor JAR, budeme musieť do logiky pridať rovnakú logiku hlavný() spôsobom, aby si ho mohla vyzdvihnúť aj vložená nádoba.

3. Záver

V tomto článku sme predstavili SpringBootServletInitializer a predviedli sme, ako ho môžeme použiť na spustenie aplikácií Spring Boot z klasického archívu WAR.

Celý zdrojový kód tohto príkladu je k dispozícii na GitHub. Toto je projekt založený na Maven, takže ho možno importovať a použiť taký, aký je.


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