Spring Boot es un marco de trabajo Java de código abierto que se utiliza para programar aplicaciones independientes basadas en Spring de nivel de producción con un conjunto de bibliotecas que facilitan el inicio y la gestión del proyecto. [3] Spring Boot es una extensión de convención sobre configuración para la plataforma Spring Java destinada a ayudar a minimizar los problemas de configuración al crear aplicaciones basadas en Spring. [4] [5] La aplicación aún se puede ajustar para necesidades específicas, pero el proyecto Spring Boot inicial proporciona una "visión opinada" preconfigurada de la mejor configuración para usar con la plataforma Spring y bibliotecas de terceros seleccionadas . [6] [7]
Spring Boot se puede utilizar para crear microservicios , aplicaciones web y aplicaciones de consola . [3] [8]
Características
- Servidor de aplicaciones web Tomcat , Jetty o Undertow integrado . [9]
- Proporcionar modelos de objetos de proyecto (POM) "de inicio" basados en opiniones para la herramienta de compilación. Las únicas herramientas de compilación admitidas son Maven y Gradle . [10] [11]
- Configuración automática de la aplicación Spring. [12]
- Proporcionar funcionalidades listas para producción [4] como métricas , [13] controles de estado, [13] y configuración externalizada. [14]
- No se requiere generación de código . [9]
- No se requiere configuración XML . [10]
- Soporte opcional para Kotlin y Apache Groovy además de Java. [3] [15]
Arranque del DispatcherServlet
Spring Boot no requiere configuración manual del DispatcherServlet, ya que configura automáticamente la aplicación en función de la configuración que detecta. [16]
Inicializador SpringBootServlet
Spring Boot tiene una clase SpringBootServletInitializer, que es una especialización de WebApplicationInitializer. [16] Esta SpringBootServletInitializeres una implementación lista para usar de WebApplicationInitializer, que elimina la necesidad de que el desarrollador construya su propia implementación de la WebApplicationInitializerclase. [16]
Propiedades de configuración
Las propiedades de configuración para la aplicación Spring Boot se pueden especificar en el archivo application.propertieso application.yml. [16]
Algunos ejemplos de propiedades que se pueden incluir en este archivo incluyen las propiedades server.porty spring.application.name. [16]
Autoconfiguración
@AplicaciónSpringBoot
Spring Boot tiene una anotación, @SpringBootApplication, que permite que la aplicación Spring Boot configure automáticamente bibliotecas de terceros y características detectadas que se encuentran en la ruta de clases . [16] Como ejemplo, la clase que tiene la @SpringBootApplicationanotación puede extender la SpringBootServerInitializerclase si la aplicación está empaquetada e implementada como un archivo WAR . [16]
La @SpringBootApplicationanotación combina tres anotaciones específicas de Spring: @SpringBootConfiguration, @EnableAutoConfigurationy @ComponentScan. [17]
@Configuración de arranque de primavera
La @SpringBootConfigurationanotación es una especialización de la anotación específica de Spring @Configuration. [17] La clase con el @SpringBootConfigurationestá marcada como la clase de configuración para la aplicación Spring Boot. [17]
@Habilitar configuración automática
La @EnableAutoConfigurationanotación es una anotación específica de Spring que permite la configuración automática de Spring Boot. [17]
Solenoide
El actuador Spring Boot permite capacidades de monitoreo y administración para la aplicación Spring Boot. [18] Una ventaja importante de usar el actuador Spring Boot es que implementa una serie de características listas para producción sin requerir que el desarrollador construya sus propias implementaciones. [18]
Si se utiliza Maven como herramienta de compilación, la spring-boot-starter-actuatordependencia se puede especificar en el pom.xmlarchivo de configuración. [19]
Integración con módulos de Spring Framework
Spring Boot tiene varios módulos Spring Framework existentes.
Seguridad de primavera
Spring Boot se integra con el módulo Spring Security . La forma más sencilla de integrar Spring Boot con Spring Security es declarar la dependencia de inicio en el archivo de configuración de compilación. [20]
Si se utiliza Maven como herramienta de compilación, entonces la dependencia con la identificación del artefacto spring-boot-starter-securityse puede especificar en el pom.xmlarchivo de configuración. [20]
Servidores de aplicaciones
De manera predeterminada, Spring Boot proporciona servidores web integrados (como TomCat) listos para usar. [21] Sin embargo, Spring Boot también se puede implementar como un archivo WAR en un servidor de aplicaciones WildFly independiente . [22]
Si se utiliza Maven como herramienta de compilación, hay un wildfly-maven-plugincomplemento de Maven que permite la implementación automática del archivo WAR generado. [22]
Referencias
- ^ "Spring Boot v1.0.0.LANZAMIENTO". github.com.
- ^ "Versión 3.3.4". 19 de septiembre de 2024. Consultado el 26 de septiembre de 2024 .
- ^ abc "Tutorial de Spring Boot: aprenda a usar Spring Boot". GeeksforGeeks . 2023-05-08 . Consultado el 2024-04-05 .
- ^ ab Walls 2016, p. vii, §prólogo.
- ^ Walls 2016, págs. 37–48, §2.3.
- ^ Muros 2016, pág. 48, §2.4.
- ^ Deinum & Cosmina 2021, págs. 21-22, §2 Fundamentos de Spring Framework.
- ^ "Aplicación de consola Spring Boot". Baeldung . 8 de enero de 2024 . Consultado el 20 de septiembre de 2024 .
{{cite web}}: CS1 maint: estado de la URL ( enlace ) - ^ ab Walls 2016, pág. 7, §1.1.3.
- ^ ab Walls 2016, p. x, §Prefacio.
- ^ Musib 2022, pág. 9, §1.2.1 Maven vs Gradle.
- ^ Walls 2016, págs. 4–5, §1.1.2.
- ^ ab Walls 2016, págs. 124–139, §7.
- ^ Walls 2016, págs. 49–69, §3.1-§3.2.3.
- ^ "Soporte de lenguaje". Spring Framework .
- ^ abcdefg Deinum & Cosmina 2021, págs. 52–54, §2 Fundamentos de Spring Framework - Spring Boot.
- ^ abcd Walls 2019, págs. 11–17, §1.2.2 Examen de la estructura del proyecto Spring.
- ^ ab Musib 2022, págs. 144-145, §4.4 Actuador de arranque por resorte.
- ^ Musib 2022, págs. 145–146, §4.4.1 Configuración del actuador Spring Boot en una aplicación Spring Boot.
- ^ ab Musib 2022, págs. 187–192, §5.2.1 Configuración del actuador Spring Boot en una aplicación Spring Boot.
- ^ Musib 2022, págs. 7–8, §1.1.4 Componentes de Spring Boot.
- ^ ab Musib 2022, págs. 406–417, §9.2 Implementación de la aplicación Spring Boot como WAR en el servidor de aplicaciones wildfly.
- Deinum, Marta; Cosmina, Juliana (2021). Pro Spring MVC con WebFlux . Berkeley, CA: Apress. doi :10.1007/978-1-4842-5666-4. ISBN 978-1-4842-5665-7. Número de identificación del sujeto 231672329.
- Musib, Somnath (12 de julio de 2022). Spring Boot in Practice . Simon and Schuster. ISBN 978-1-61729-881-3.
- Walls, Craig (3 de enero de 2016). Spring Boot in Action . Manning . ISBN 978-1-61729-254-5.
- Walls, Craig (2019). Primavera en acción . Manning . ISBN. 978-1-61729-494-5.
Enlaces externos
- Sitio web oficial