Een korte introductie tot de SpringBootServletInitializer

1. Overzicht

In deze zelfstudie bespreken we een korte introductie van de SpringBootServletInitializer.

Dit is een uitbreiding van WebApplicationInitializer welke loopt een SpringApplication uit een traditioneel WAR-archief ingezet op een webcontainer. Deze klasse bindt Servlet, Filter en ServletContextInitializer bonen van de toepassingscontext naar de server.

Uitbreiding van het SpringBootServletInitializer class stelt ons ook in staat om onze applicatie te configureren wanneer deze wordt uitgevoerd door de servlet-container, door de configureren () methode.

2. SpringBootServletInitializer

Om praktischer te worden, laten we een voorbeeld zien van een hoofdklasse die de extensie Initializer klasse.

Onze @SpringBootApplication klasse gebeld WarInitializerApplication breidt de SpringBootServletInitializer en overschrijft de configureren () methode. Die methode gebruikt SpringApplicationBuilder om eenvoudig onze klasse te registreren als een configuratieklasse van de applicatie:

@SpringBootApplication openbare klasse WarInitializerApplication breidt SpringBootServletInitializer uit {@Override beschermde SpringApplicationBuilder-configuratie (SpringApplicationBuilder-builder) {return builder.sources (WarInitializerApplication.class); } public static void main (String [] args) {SpringApplication sa = nieuwe SpringApplication (WarInitializerApplication.class); sa.run (args); } @RestController openbare statische klasse WarInitializerController {@GetMapping ("/") openbare String-handler () {// ...}}} 

Als we onze applicatie nu verpakken als een WAR, kunnen we deze op een traditionele manier op elke webcontainer implementeren, die ook de logica uitvoert die we in de configureren () methode.

Als we het als een JAR-bestand willen verpakken, moeten we dezelfde logica toevoegen aan het hoofd() methode zodat de ingebedde container deze ook kan oppakken.

3. Conclusie

In dit artikel hebben we de SpringBootServletInitializer en lieten zien hoe we het kunnen gebruiken om Spring Boot-applicaties uit een klassiek WAR-archief te draaien.

De volledige broncode voor het voorbeeld is beschikbaar op GitHub. Dit is een op Maven gebaseerd project, dus het kan worden geïmporteerd en gebruikt zoals het is.


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