[JAVA] Différences entre Spring Initializr Packaging JAR et WAR

Générer une application Web avec Spring Initializr

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érence entre Jar et War

$ 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

Différences entre Spring Initializr Packaging JAR et WAR
Différences entre IndexOutOfBoundsException et ArrayIndexOutOfBoundsException
Différences entre Java "débutant" et Kotlin
À propos de la différence entre la classe Applet et la classe JApplet
Différences entre Java et .NET Framework
Différence entre la préface et le suffixe des opérateurs
[Java] Différences entre les variables d'instance et les variables de classe
Exécutable serveur avec Spring gradle Comment créer JAR et WAR
Différence entre les chaînes de caractères et les symboles Ruby [Débutant]
[Comprendre] Différence entre le hachage et le tableau dans Ruby
Résumer les différences entre l'écriture C # et Java
Différence entre Spring AOP et la classe cible de la bibliothèque
Différences entre Fetch Type LAZY et EAGER dans Hibernate
Comparaison Hello World entre Spark Framework et Spring Boot