Spring Boot: implementación del proyecto con Tomcat

Spring Boot es un marco basado en microservicios y crear una aplicación lista para producción lleva muy poco tiempo. Spring Boot está construido en la parte superior del resorte y contiene todas las características del resorte. Y se está convirtiendo en el favorito de los desarrolladores en estos días porque es un entorno listo para la producción rápida que permite a los desarrolladores centrarse directamente en la lógica en lugar de luchar con la configuración y la instalación.

Proceso para la implementación del proyecto en Spring Boot 

La implementación de la aplicación Spring Boot en Tomcat Server implica tres pasos:

  1. Cree una aplicación Spring Boot de muestra
  2. Modos de creación de un Spring Boot WAR
  3. Implementación de WAR en Tomcat: preferiblemente, se requieren versiones superiores de Tomcat.

Para utilizar la versión apropiada de Tomcat y la versión de Java, será útil visitar previamente el archivo HTML

Paso 1: Creación de una aplicación Spring Boot de muestra

Este es un proyecto de aplicación web Spring Boot, es decir, el proyecto debe implementarse en Tomcat. El proyecto se puede crear como un proyecto basado en maven y, por lo tanto, las dependencias requeridas que podemos especificar en el archivo pom.xml

pom.xml->Configurations can be specified in a Maven project via pom.xml

Como el proyecto debe implementarse con Tomcat, debe empaquetarse como «WAR» ( recurso de aplicación web o archivo de aplicación web).

Básicamente, pom.xml debería tener dependencias relacionadas con el arranque de primavera como

  • spring-boot-arrancador-padre
  • spring-boot-arranque-web
  • spring-boot-starter-tomcat y su alcance está configurado para proporcionar «geeks-web-services» debe ser el nombre del archivo «WAR» según pom.xml

Ejemplo 1:

XML

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
 
    <groupId>com.geeksforgeeks</groupId>
    <artifactId>spring-boot-war-deployment-example-on-tomcat</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <!-- As we need to deploy the project as WAR, this is needed -->
    <packaging>war</packaging>
 
    <name>SpringBootWarDeploymentOnTomcatServer</name>
    <description>Demo project for Spring Boot deployable on Tomcat</description>
 
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
 
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <!--  Spring web dependency -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
        <!--Servlet container has to be set as provided -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency> 
       
 
    <build>
      <!-- Our final war file name is geeks-web-services -->
    <finalName>geeks-web-services</finalName>
         <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>    
         
    </build>
 
 
</project>

Se requiere una clase de controlador a través de la cual podamos invocar los servicios como un método GET o POST. Como muestra, veamos «SampleRestControllerExample.java» que contiene dos métodos como métodos » GET «

Se escriben dos métodos que proporcionan un texto estático como salida. 

Como este es un ejemplo simple, solo mostrémoslo como al llamar a «geeks-web-services/hello», muestra Hello Geek, este es un mensaje de saludo simple para cuidarse y tener un buen día.

al llamar a «geeks-web-services/greet», muestra Hello Geek, El desarrollo rápido y fácil puede ser posible en aplicaciones basadas en Spring al reducir el código fuente.

@RestController es una versión especializada del controlador. Incluye las anotaciones @Controller y @ResponseBody y, como resultado, simplifica la implementación del controlador.

Ejemplo 2: SampleRestControllerExample.java

Java

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
 
// Annotation
@RestController
 
// Class
public class SampleRestControllerExample {
     
     @GetMapping("/hello")
    // Easy method just to print encouraging and consoling words
    public String hello() {
        return "Hello Geek, this is a simple hello message to take care and have a nice day.";
    }
     
    @GetMapping("/greet")
    //Easy method just to print greeting message by saying spring-based applications
    public String greet() {
        return "Hello Geek, Fast and easy development can be possible on Spring-based applications by reducing source code;.";
    }
}

Paso 2: Formas de creación de un Spring Boot WAR

Hay 3 formas de crear un Spring Boot WAR:

  • La clase «principal» debe contener la clase «extiende SpringBootServletInitializer» en la clase principal.
  • “El contenedor de servlet integrado debe marcarse como se proporciona.
  • El embalaje debe ser GUERRA

SpringBootWarDeploymentOnTomcatServer.java es nuestra clase principal

Ejemplo:

Java

// Java Program to Illustrate SpringBoot WarDeployment
// On Tomcat Server
 
// Importing required classes
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
 
// Annotation
@SpringBootApplication
 
// Class
public class SpringBootWarDeploymentOnTomcatServer
    extends SpringBootServletInitializer {
    @Override
 
    // Configuring method has to be overridden
    protected SpringApplicationBuilder
    configure(SpringApplicationBuilder application)
    {
        return application.sources(
            SpringBootWarDeploymentOnTomcatServer.class);
    }
 
    // Method 2
    // Main driver method
    public static void main(String[] args)
    {
        SpringApplication.run(
            SpringBootWarDeploymentOnTomcatServer.class,
            args);
    }
}

Podemos ejecutar los pasos maven usando la línea de comando

mvn clean install -X

Como imagen, veamos la estructura del proyecto y la carpeta de destino.

Paso 3: Implementación de WAR en Tomcat 

Apache Tomcat Server debe instalarse si no se instaló antes. Preferiblemente, las versiones superiores de tomcat serán útiles. Como ejemplo, estamos usando Tomcat versión 9.0.x

Para utilizar la versión adecuada de Tomcat y la versión de Java, será útil verificar el archivo HTML . En nuestro paso anterior, obtuvimos «geek-web-services.war» y debe copiarse en la carpeta «webapps» de tomcat.

Ahora, abra el símbolo del sistema y apunte a la carpeta bin de la ubicación de Tomcat

Desde la carpeta bin, se debe proporcionar «startup.bat»

La imagen muestra que el arranque de resorte ha comenzado

Y también nuestro archivo de guerra también se implementa en tomcat. La siguiente captura de pantalla confirma que

archivo war de geek-web-services desplegado

Podemos probar lo mismo ejecutando la siguiente URL en un navegador

geek-web-services/hola salida

Salida: 2do

geek-web-services/greetoutput

Explicación del proyecto: se justifica a través del video que se proporciona a continuación de la siguiente manera:

Conclusión: como se explicó anteriormente, un proyecto de arranque de primavera se puede implementar en Tomcat. Recuerde ciertos puntos importantes que se enumeran:

  1. De forma predeterminada, Spring Boot 1.4.4.RELEASE requiere Java 7 y Spring Framework 4.3.6.RELEASE o superior
  2. Las versiones superiores de Tomcat serán útiles para implementar aplicaciones Spring-Boot.

Publicación traducida automáticamente

Artículo escrito por priyarajtt y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *