Spring Boot - Introducción

Spring Boot es un marco de código abierto basado en Java que se utiliza para crear un microservicio. Está desarrollado por Pivotal Team y se utiliza para crear aplicaciones de resortes independientes y listas para producción. Este capítulo le dará una introducción a Spring Boot y lo familiarizará con sus conceptos básicos.

¿Qué es Micro Service?

Micro Service es una arquitectura que permite a los desarrolladores desarrollar e implementar servicios de forma independiente. Cada servicio en ejecución tiene su propio proceso y esto logra el modelo liviano para admitir aplicaciones comerciales.

Ventajas

Los microservicios ofrecen las siguientes ventajas a sus desarrolladores:

  • Despliegue sencillo
  • Escalabilidad simple
  • Compatible con contenedores
  • Configuración mínima
  • Menor tiempo de producción

¿Qué es Spring Boot?

Spring Boot proporciona una buena plataforma para que los desarrolladores de Java desarrollen una aplicación de primavera independiente y de grado de producción que puede just run. Puede comenzar con configuraciones mínimas sin la necesidad de una configuración completa de Spring.

Ventajas

Spring Boot ofrece las siguientes ventajas a sus desarrolladores:

  • Aplicaciones de muelles fáciles de entender y desarrollar
  • Aumenta la productividad
  • Reduce el tiempo de desarrollo

Metas

Spring Boot está diseñado con los siguientes objetivos:

  • Para evitar una configuración XML compleja en Spring
  • Desarrollar aplicaciones Spring listas para producción de una manera más fácil
  • Para reducir el tiempo de desarrollo y ejecutar la aplicación de forma independiente
  • Ofrecer una forma más sencilla de comenzar con la aplicación.

¿Por qué Spring Boot?

Puede elegir Spring Boot debido a las características y beneficios que ofrece como se indica aquí:

  • Proporciona una forma flexible de configurar Java Beans, configuraciones XML y transacciones de bases de datos.

  • Proporciona un potente procesamiento por lotes y gestiona los puntos finales REST.

  • En Spring Boot, todo se configura automáticamente; no se necesitan configuraciones manuales.

  • Ofrece una aplicación de resorte basada en anotaciones.

  • Facilita la gestión de la dependencia

  • Incluye contenedor de servlet integrado

¿Como funciona?

Spring Boot configura automáticamente su aplicación en función de las dependencias que ha agregado al proyecto utilizando @EnableAutoConfigurationanotación. Por ejemplo, si la base de datos MySQL está en su classpath, pero no ha configurado ninguna conexión de base de datos, Spring Boot configura automáticamente una base de datos en memoria.

El punto de entrada de la aplicación Spring Boot es la clase que contiene @SpringBootApplication anotación y el método principal.

Spring Boot escanea automáticamente todos los componentes incluidos en el proyecto usando @ComponentScan anotación.

Arrancadores Spring Boot

Manejar la gestión de la dependencia es una tarea difícil para los grandes proyectos. Spring Boot resuelve este problema proporcionando un conjunto de dependencias para conveniencia de los desarrolladores.

Por ejemplo, si desea utilizar Spring y JPA para el acceso a la base de datos, es suficiente si incluye spring-boot-starter-data-jpa dependencia en su proyecto.

Tenga en cuenta que todos los arrancadores Spring Boot siguen el mismo patrón de nomenclatura spring-boot-starter- *, donde * indica que es un tipo de aplicación.

Ejemplos

Mire los siguientes arrancadores de Spring Boot que se explican a continuación para una mejor comprensión:

Spring Boot Starter Actuator dependencyse utiliza para monitorear y administrar su aplicación. Su código se muestra a continuación:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

Spring Boot Starter Security dependencyse utiliza para Spring Security. Su código se muestra a continuación:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-security</artifactId>
</dependency>

Spring Boot Starter web dependencyse utiliza para escribir un Rest Endpoints. Su código se muestra a continuación:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Spring Boot Starter Thyme Leaf dependencyse utiliza para crear una aplicación web. Su código se muestra a continuación:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

Spring Boot Starter Test dependencyse utiliza para escribir casos de prueba. Su código se muestra a continuación:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-test</artifactId>
</dependency>

Configuración automática

Spring Boot Auto Configuration configura automáticamente su aplicación Spring según las dependencias JAR que agregó en el proyecto. Por ejemplo, si la base de datos MySQL está en su ruta de clases, pero no ha configurado ninguna conexión de base de datos, Spring Boot configura automáticamente una base de datos en memoria.

Para este propósito, debe agregar @EnableAutoConfiguration anotación o @SpringBootApplicationanotación a su archivo de clase principal. Luego, su aplicación Spring Boot se configurará automáticamente.

Observe el siguiente código para una mejor comprensión:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;

@EnableAutoConfiguration
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Aplicación Spring Boot

El punto de entrada de la aplicación Spring Boot es la clase que contiene @SpringBootApplicationanotación. Esta clase debe tener el método principal para ejecutar la aplicación Spring Boot.@SpringBootApplication La anotación incluye la configuración automática, la exploración de componentes y la configuración de arranque con resorte.

Si agregaste @SpringBootApplication anotación a la clase, no es necesario agregar la @EnableAutoConfiguration, @ComponentScan y @SpringBootConfigurationanotación. los@SpringBootApplication la anotación incluye todas las demás anotaciones.

Observe el siguiente código para una mejor comprensión:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}

Escaneo de componentes

La aplicación Spring Boot analiza todos los beans y las declaraciones de paquetes cuando la aplicación se inicializa. Necesitas agregar el@ComponentScan anotación para su archivo de clase para escanear sus componentes agregados en su proyecto.

Observe el siguiente código para una mejor comprensión:

import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;

@ComponentScan
public class DemoApplication {
   public static void main(String[] args) {
      SpringApplication.run(DemoApplication.class, args);
   }
}