Générez un modèle d'application Web avec les paramètres suivants dans Spring Initializr.
J'ai créé des articles Jar et War pour Packaging, respectivement, et j'ai pris la différence avec la commande diff.
$ diff -r jar war
diff -r jar/demo/build.gradle war/demo/build.gradle
4a5
> id 'war'
16a18
> providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
Only in war/demo/src/main/java/com/example/demo: ServletInitializer.java
Gradle War Plugin
Le plugin War de Gradle a été ajouté à l'application War.
id 'war'
War Plugin est un plugin qui ajoute une tâche pour générer un fichier war.
Référence: The War Plugin
Spring Boot Tomcat Starter
Spring Boot Tomcat Starter est spécifié dans les applications providedRuntime for War.
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
Cela utilise Tomcat intégré lors de l'exécution dans l'environnement local, mais en spécifiant providedRuntime, le Tomcat intégré n'est pas inclus lorsque le fichier war est généré. Référence: Maven Repository: org \ .springframework \ .boot »spring \ -boot \ -starter \ -tomcat
ServletInitializer
Un ServletInitializer a été ajouté à l'application War.
package com.example.demo;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}
Il s'agit d'une classe qui implémente l'interface WebApplicationInitializer requise dans l'environnement dans lequel le fichier war est déployé et exploité. Référence: [SpringBootServletInitializer \ (Spring Boot Docs 2 \ .2 \ .1 \ .RELEASE API )](https://docs.spring.io/spring-boot/docs/2.2.1.RELEASE/api/org/ springframework / boot / web / servlet / support / SpringBootServletInitializer.html)
Recommended Posts