Gyors bevezető a SpringBootServletInitializerhez

1. Áttekintés

Ebben az oktatóanyagban áttekintjük a SpringBootServletInitializer.

Ez a kiterjesztése WebApplicationInitializer melyik fut a SpringApplication egy hagyományos WAR archívumból egy webes konténerre telepítve. Ez az osztály köt Servlet, Szűrő és ServletContextInitializer babot az alkalmazás kontextusától a szerverig.

A. Kiterjesztése SpringBootServletInitializer osztály azt is lehetővé teszi számunkra, hogy konfiguráljuk az alkalmazást, amikor azt a servlet tároló futtatja, felülírva az Beállítás() módszer.

2. SpringBootServletInitializer

A praktikusabb megjelenítés érdekében bemutatunk egy példát egy fő osztályra, amely kiterjeszti a Inicializáló osztály.

A mi @SpringBootApplication osztály hívta WarInitializerApplication kiterjeszti a SpringBootServletInitializer és felülírja a Beállítás() módszer. Ez a módszer használja SpringApplicationBuilder egyszerűen regisztrálhatjuk osztályunkat az alkalmazás konfigurációs osztályaként:

A @SpringBootApplication public class WarInitializerApplication kiterjeszti a SpringBootServletInitializer {@Orride védett SpringApplicationBuilder konfigurálása (SpringApplicationBuilder builder) {return builder.sources (WarInitializerApplication.class); } public static void main (String [] args) {SpringApplication sa = new SpringApplication (WarInitializerApplication.class); sa.run (érvek); } @RestController public static class WarInitializerController {@GetMapping ("/") public String handler () {// ...}}} 

Most, ha WAR-ként csomagoljuk az alkalmazásunkat, akkor hagyományos módon telepíthetjük bármely webtárolóba, amely végrehajtja a logikát, amelyet a Beállítás() módszer.

Ha JAR fájlként szeretnénk csomagolni, akkor ugyanazt a logikát kell hozzáadnunk a fő() módszerrel, hogy a beágyazott tartály is fel tudja venni.

3. Következtetés

Ebben a cikkben bemutattuk a SpringBootServletInitializer és bemutatta, hogyan használhatjuk a Spring Boot alkalmazások futtatására egy klasszikus WAR archívumból.

A példa teljes forráskódja elérhető a GitHub oldalon. Ez egy Maven-alapú projekt, így importálható és használható.