Componentes clave y elementos internos del marco Spring Boot

En mi publicación anterior “Introducción a Spring Boot” , analizamos los conceptos básicos de Spring Boot. Ahora analizaremos “Cuáles son los componentes principales de Spring Boot” y “Cómo funciona Spring Boot en profundidad”.

Componentes clave del marco Spring Boot

Spring Boot Framework tiene principalmente cuatro componentes principales.

  • Arrancadores de resorte
  • Configurador automático de Spring Boot
  • Interfaz de línea de comandos Spring Boot
  • Actuador de arranque por resorte

NOTA: Además de estos cuatro componentes principales, hay dos componentes Spring Boot más:

  • Inicialización de primavera
  • IDE de Spring Boot

Para iniciar rápidamente nuevos proyectos de Spring Boot, podemos usar la interfaz web “Spring Initializr”. URL de Spring Initializr: https://start.spring.io . Tenemos muchos IDE de Spring Boot como Eclipse IDE, IntelliJ IDEA, Spring STS Suite, etc. Hablaremos de estos dos componentes en próximas publicaciones. Ahora discutiremos estos cuatro componentes de Spring Boot uno por uno en detalle.

Arranque de resorte

Spring Boot Starters es una de las principales características o componentes clave de Spring Boot Framework. La principal responsabilidad de Spring Boot Starter es combinar un grupo de dependencias comunes o relacionadas en dependencias individuales. Exploraremos esta afirmación en detalle con un ejemplo. Por ejemplo, nos gustaría desarrollar una aplicación web Spring con un servidor web Tomcat. Luego, necesitamos agregar las siguientes dependencias jar mínimas en el archivo pom.xml de Maven o en el archivo build.gradle de Gradle

  • Archivo Jar del núcleo de Spring (spring-core-xx.jar)
  • Archivo Jar de Spring Web (spring-web-xx.jar)
  • Archivo JAR de Spring Web MVC (spring-webmvc-xx.jar)
  • Archivo Jar del servlet (servlet-xx.jar)

Si queremos agregar algo de información a la base de datos, entonces necesitamos agregar archivos jar relacionados con la base de datos, como el archivo jar Spring JDBC, los archivos jar Spring ORM, el archivo jar Spring Transaction, etc.

  • Archivo JAR de Spring JDBC (spring-jdbc-xx.jar)
  • Archivo Jar ORM de Spring (spring-orm-xx.jar)
  • Archivo JAR de transacciones de Spring (spring-transaction-xx.jar)

Necesitamos definir muchas dependencias en nuestros archivos de compilación. Es una tarea muy tediosa y engorrosa para un desarrollador. Y también aumenta el tamaño de nuestro archivo de compilación. ¿Cuál es la solución para evitar tantas definiciones de dependencias en nuestros archivos de compilación? La solución es el componente Spring Boot Starter. El componente Spring Boot Starter combina todos los jar relacionados en un solo archivo jar para que podamos agregar solo la dependencia del archivo jar a nuestros archivos de compilación. En lugar de agregar los 4 archivos jar anteriores a nuestro archivo de compilación, necesitamos agregar un solo archivo jar: el archivo jar “spring-boot-starter-web”. Cuando agregamos la dependencia del archivo jar “spring-boot-starter-web” a nuestro archivo de compilación, Spring Boot Framework descargará automáticamente todos los jar necesarios y los agregará a la ruta de clase de nuestro proyecto. De la misma manera, el archivo jar “spring-boot-starter-logging” carga todos sus jar de dependencia como “jcl-over-slf4j, jul-to-slf4j, log4j-over-slf4j, logback-classic” a la ruta de clase de nuestro proyecto.

Principales ventajas de Spring Boot Starter

  • Spring Boot Starter reduce la definición de muchas dependencias y simplifica la creación de dependencias de proyectos.
  • Spring Boot Starter simplifica las dependencias de compilación de proyectos.

Eso es todo acerca del componente Spring Boot Starter. Analizaremos más detalles con algunos ejemplos de Spring Boot en próximas publicaciones.

Configurador automático de Spring Boot

Otro componente clave importante de Spring Boot Framework es Spring Boot AutoConfigurator. La mayoría de los críticos de Spring IO Platform (Spring Framework) opinan que “para desarrollar una aplicación basada en Spring se requiere mucha configuración (ya sea configuración XML o configuración de anotaciones). Entonces, ¿cómo resolver este problema? La solución a este problema es Spring Boot AutoConfigurator. La principal responsabilidad de Spring Boot AutoConfigurator es reducir la configuración de Spring. Si desarrollamos aplicaciones Spring en Spring Boot, entonces no necesitamos definir una única configuración XML y casi ninguna o mínima configuración de anotaciones. El componente Spring Boot AutoConfigurator se encargará de proporcionar esa información. Por ejemplo, si queremos declarar una aplicación Spring MVC utilizando Spring IO Platform, entonces necesitamos definir mucha configuración XML como vistas, resolver vistas, etc. Pero si utilizamos Spring Boot Framework, entonces no necesitamos definir esas configuraciones XML. Spring Boot AutoConfigurator se encargará de esto. Si utilizamos el archivo jar “spring-boot-starter-web” en nuestro archivo de compilación del proyecto, entonces Spring Boot AutoConfigurator resolverá vistas, resolver vistas, etc. automáticamente. Y también Spring Boot reduce la definición de la configuración de anotaciones. Si usamos la anotación @SpringBootApplication a nivel de clase, entonces Spring Boot AutoConfigurator agregará automáticamente todas las anotaciones requeridas al código de bytes de la clase Java. Si revisamos la documentación de Spring Boot, podemos encontrar la siguiente definición para @SpringBootApplication .

@Target(value=TYPE)@Retention(value=RUNTIME)@Documented@Inherited@Configuration@EnableAutoConfiguration@ComponentScanpublic @interface SpringBootApplication

Es decir, @SpringBootApplication = @Configuration + @ComponentScan + @EnableAutoConfiration . Eso es todo acerca del componente Spring Boot AutoConfigure. Analizaremos algunos detalles más con algunos ejemplos de Spring Boot en las próximas publicaciones. NOTA:

  • En palabras simples, Spring Boot Starter reduce las dependencias de compilación y Spring Boot AutoConfigurator reduce la configuración de Spring.
  • Como comentamos, Spring Boot Starter tiene una dependencia de Spring Boot AutoConfigurator, Spring Boot Starter activa Spring Boot AutoConfigurator automáticamente.

Interfaz de línea de comandos Spring Boot

Spring Boot CLI (Interfaz de línea de comandos) es un software Spring Boot para ejecutar y probar aplicaciones Spring Boot desde el símbolo del sistema. Cuando ejecutamos aplicaciones Spring Boot mediante CLI, utiliza internamente los componentes Spring Boot Starter y Spring Boot AutoConfigurate para resolver todas las dependencias y ejecutar la aplicación. Incluso podemos ejecutar aplicaciones web Spring con comandos simples de Spring Boot CLI. Spring Boot CLI ha introducido un nuevo comando “spring” para ejecutar scripts Groovy desde el símbolo del sistema. Ejemplo de comando spring:

spring run HelloWorld.groovy

Aquí HelloWorld.groovy es un nombre de archivo de script de Groovy. Al igual que los nombres de los archivos fuente de Java tienen la extensión *.java, los archivos de script de Groovy tienen la extensión *.groovy. El comando “spring” ejecuta HelloWorld.groovy y produce un resultado. El componente CLI de Spring Boot requiere muchos pasos como la instalación de CLI, la configuración de CLI, el desarrollo de una aplicación Spring Boot simple y su prueba. Por lo tanto, vamos a dedicar otra publicación a analizarlo en detalle con algunos ejemplos de Spring Boot. Consulte mi próxima publicación sobre la CLI de Spring Boot.

Actuador de arranque por resorte

Los componentes del actuador Spring Boot ofrecen muchas características, pero dos características principales son

  • Proporcionar puntos finales de gestión para aplicaciones Spring Boot.
  • Métricas de aplicaciones Spring Boot.

Cuando ejecutamos nuestra aplicación web Spring Boot mediante CLI, Spring Boot Actuator proporciona automáticamente el nombre de host como “localhost” y el número de puerto predeterminado como “8080”. Podemos acceder a esta aplicación mediante el punto final “ https://localhost:8080/ ”. En realidad, utilizamos métodos de solicitud HTTP como GET y POST para representar los puntos finales de administración mediante Spring Boot Actuator. Analizaremos más detalles sobre Spring Boot Actuator en las próximas publicaciones.

Elementos internos del marco Spring Boot

Siempre se recomienda entender cómo Spring Boot Framework reduce las dependencias de la compilación, la configuración de Spring, etc. Cómo funciona Spring Boot bajo el capó. Si está familiarizado con el lenguaje de programación Groovy, entonces sabe la mayoría de las cosas. En Groovy, no necesitamos agregar algunas importaciones y no es necesario agregar algunas dependencias al proyecto Groovy. Cuando compilamos scripts de Groovy usando Groovy Compiler (groovyc), agregará automáticamente todas las declaraciones de importación predeterminadas y luego las compilará. De la misma manera, el lenguaje de programación Groovy contiene un solucionador de dependencias JAR para resolver y agregar todos los archivos jar requeridos a la ruta de clase del proyecto Groovy. Spring Boot Framework usa internamente Groovy para agregar algunos valores predeterminados como declaraciones de importación predeterminadas, método main() de la aplicación, etc. Cuando ejecutamos scripts de Groovy desde el símbolo del sistema CLI, usa este método main() para ejecutar la aplicación Spring Boot.

Uva

Grape es un motor de resolución de dependencias integrado. Grape es un administrador de dependencias JAR integrado en Groovy. Grape nos permite agregar rápidamente dependencias del repositorio maven a la ruta de clase de nuestro proyecto para reducir las definiciones de archivos de compilación. El modelo de programación de Spring Boot Framework está inspirado principalmente en el modelo de programación de Groovy. Spring Boot Framework depende internamente de estos dos componentes principales: Groovy y Grape. Puede consultar la documentación de Grape https://docs.groovy-lang.org/latest/html/documentation/grape.html para obtener más detalles. Eso es todo sobre los componentes y los componentes internos de Spring. Discutiremos sobre estos componentes en detalle con algunos ejemplos de Spring Boot en las próximas publicaciones. Si tiene alguna pregunta, déjeme un comentario.

SUSCRÍBETE A NUESTRO BOLETÍN 
No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

Deja un comentario

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

Scroll al inicio