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ó.