What Is Spring Boot?

Alan Zeichick | Senior Writer | October 29, 2024

Escribir software es como abrir un nuevo documento en blanco en tu procesador de texto favorito: ¿Qué haces primero? ¿Y cómo maneja todo el tedioso código fijo necesario para crear una aplicación compleja sin olvidar algo importante o cometer un error de configuración? Ahí es donde entran en juego los marcos de aplicaciones, que proporcionan la estructura para diferentes tipos de aplicaciones. Una vez que el equipo de desarrollo ha elegido un marco de aplicación, el proceso de creación del software realmente puede comenzar en serio. No, no es tan simple como una plantilla de relleno, pero el andamio de un marco de aplicación se encarga de los requisitos previos para proyectos que van desde un simple microservicio o aplicación web hasta una aplicación tradicional de cliente/servidor.

Para los desarrolladores de Java, uno de los marcos de aplicaciones más populares es Spring, que es increíblemente flexible y versátil. Puedes hacer casi cualquier cosa con Spring, desde crear un servicio simple hasta desarrollar un enorme sistema crítico para el negocio. Y aunque la versatilidad es la mayor fortaleza de la primavera, también es la mayor debilidad de la primavera: a menudo es demasiado compleja y ofrece demasiadas opciones. Ahí es donde entra Spring Boot. Spring Boot es una extensión de Spring que es más fácil de usar porque toma muchas de las opciones para usted, particularmente en lo que respecta a la gestión de dependencias y configuraciones.

En resumen: si estás pensando en usar Spring, probablemente puedas, y deberías, usar Spring Boot en su lugar.

¿Qué es Spring Boot para Java?

Spring Boot es un marco basado en Java de código abierto para crear aplicaciones basadas en Spring. Spring, que se desarrolló a principios de la década de 2000, se convirtió rápidamente en uno de los marcos Java más populares para aplicaciones empresariales. Spring Boot se lanzó más tarde como un marco más fácil de usar que extiende todas las herramientas y tecnologías de Spring para permitir el desarrollo rápido de aplicaciones.

Java y Spring Framework

Para los desarrolladores de Java, Spring tiene una impresionante gama de tecnologías principales, que incluyen la inyección de dependencia a la gestión de eventos, la internacionalización, el enlace de datos, la conversación de tipo y la programación orientada a aspectos. Usted lo nombra, es en primavera: pruebas, burlas, objetos de datos, aplicaciones web Model-View-Controller, eliminación, programación de tareas, la lista continúa y sigue. Los desarrolladores pueden optar por utilizar algunas o todas esas funciones, depende del equipo de desarrollo de software y los arquitectos.

Spring Framework es un software de código abierto bajo la licencia Apache 2.0.

El proyecto Spring tiene muchos subproyectos, que se centran en aplicaciones en la nube, seguridad, publicación y consumo de servicios web, gestión de credenciales, acceso a datos, gestión de eventos e incluso inteligencia artificial. Esa flexibilidad puede llevar a la complejidad: la creación de aplicaciones elaboradas basadas en Spring podría llevar a los equipos de desarrollo a una serie de opciones, opciones y configuraciones, algunas de las cuales, una vez configuradas manualmente, son difíciles de cambiar una vez que comienza a codificar.

Introduzca Spring Boot.

Spring vs. Spring Boot

  • Spring Boot es uno de los subproyectos de Spring. También es de código abierto bajo la licencia Apache 2.0.
  • Algunos desarrolladores se sorprenden al saber que la base de código de Spring Boot es en realidad más grande que el propio Spring Framework. Esto se debe a que Spring Boot es una extensión de Spring que está diseñada para ser inteligentemente autoconfigurada; el término utilizado es "opinionado".
  • Una vez que le diga a Spring Boot lo que está tratando de crear, toma decisiones sobre qué módulos y bibliotecas de terceros cargar y aprovisionar.
  • Una nota importante: cuando decimos "inteligente" aquí, no nos referimos a la IA. Las opciones de Spring Boot son algorítmicas.
  • El peso adicional del marco de Spring Boot en sí no aparece en la aplicación completada. De hecho, justo lo contrario, ya que Spring Boot casi siempre elige solo lo que se necesita.
  • En otras palabras, mientras que Spring Boot es de opinión, tiene muy buenas opiniones.
  • Por ejemplo, ¿necesita su aplicación un servidor web embebido? Con las aplicaciones Spring, tendrá que decidir por sí mismo y, si es así, elegir qué servidor web incrustar y realizar todas las opciones de configuración manualmente, incluida la seguridad.
  • Con Spring Boot, si la aplicación necesita un servidor web, Spring Boot instala y configura uno automáticamente.

Diferencias clave

Las diferencias clave entre Spring y Spring Boot implican una compensación entre la complejidad y la facilidad de uso.

La primavera es casi infinitamente configurable, pero tendrá que pasar una buena cantidad de tiempo tomando decisiones, seleccionando módulos y bibliotecas de terceros para instalar y luego configurando esas características y funciones. Y tendrás que hacerlo antes de comenzar cualquier tipo de proceso de codificación.

Con Spring Boot puede ponerse en marcha mucho más rápido porque la estructura hará muchas de las opciones de instalación y configuración para usted. Renunciarás a alguna personalización, pero francamente, eso rara vez es un problema. En casi todos los casos, Spring Boot es mejor para proyectos de desarrollo web y microservicios; en casos de borde o para proyectos muy grandes, puede decidir ir con Spring en su lugar.

Conclusiones clave

  • Spring es un marco increíblemente sólido y complicado para crear aplicaciones empresariales basadas en Java. Al igual que con una caja de herramientas que tiene todos los posibles destornilladores, llaves, brocas y zócalos, todo está ahí, pero el número de opciones puede ser abrumador.
  • Piense en Spring Boot como una versión de Spring que es mucho más fácil de usar, como si alguien empaquetara una pequeña caja de herramientas con solo lo que necesitará para un trabajo específico.
  • Spring y Spring Boot se pueden utilizar para crear aplicaciones modulares en Java.
  • Spring Boot sobresale al crear aplicaciones más pequeñas, como microservicios y aplicaciones web, porque sus configuraciones simplificadas y sus valores predeterminados inteligentes hacen que tu equipo funcione rápidamente.
  • Si una aplicación va a ser muy grande y compleja, es posible que desee utilizar el marco de Spring más flexible.

Spring Boot explicado

Spring Boot es un marco de aplicación de código abierto para crear aplicaciones Java empresariales. Diseñado para ayudar a los equipos de desarrollo a comenzar rápidamente, Spring Boot crea aplicaciones Spring independientes sin las opciones de configuración a veces tediosas que requiere Spring completo.

Los objetivos del proyecto Spring son crear una experiencia mucho más rápida y optimizada mediante la opinión, es decir, mediante el uso de algoritmos para elegir qué módulos y funciones de Spring habilitar, y qué bibliotecas de terceros instalar y luego configurarlas para usted. También agrega una gran cantidad de funcionalidades sin código a un proyecto Java, como servidores web incorporados, sistemas de seguridad, métricas y análisis.

La versión actual de Spring Boot, 3.3.4 en el momento de la escritura, requiere Java 17 como mínimo y Spring Framework 6.1.13 o posterior. Spring Boot funciona con las herramientas de creación Maven 3.6.3 y Gradle 7.x y 8.x. Para los servlets incrustados, Spring Boot funciona con Tomcat, Jetty y Undertow, o cualquier contenedor compatible con servlet 5.0+. Probablemente también quieras usar GitHub.

La ventaja de Spring Boot es que puede aprovechar las muchas capacidades del marco de aplicación Spring sin todas las complejidades de Spring. Los desarrolladores pueden ejecutar sus proyectos en cualquier máquina virtual Java que sea compatible con Java 17 o posterior, lo que significa que no es necesario configurar un servidor web independiente ni definir archivos WAR (archivo de aplicaciones web).

En lugar de requerir configuraciones XML para configurar aplicaciones Java, Spring Boot utiliza application.properties, que es ideal para aplicaciones controladas por base de datos que utilizan Oracle Database o MySQL. De hecho, si su aplicación utiliza MySQL, Spring Boot puede configurar automáticamente una base de datos en memoria. Spring Data JPA (Java Persistence API) se puede utilizar para trabajar con una amplia variedad de tecnologías de acceso a datos.

Si desea profundizar en la arquitectura, consulte este ejemplo de una aplicación basada en Spring Boot.

¿Cómo funciona Spring Boot?

Spring Boot, como muchos marcos de aplicaciones Java y otros complementos, utiliza la inyección de dependencia (DI) y la inversión de control (IoC) para agregar funcionalidad a los programas Java.

DI permite que un marco externo, en este caso, Spring Boot, proporcione objetos y funciones a la aplicación empresarial, para que el desarrollador no necesite crearlos. Todo lo que el desarrollador necesita saber, o definir, según las circunstancias, son las interfaces de esos objetos y funciones.

IoC es donde el flujo de control de un programa se proporciona desde una fuente externa; en el caso de Spring Boot, el desarrollador maneja la lógica del programa, mientras que el marco de aplicación proporciona el bucle de eventos y el envío de mensajes. Los contenedores IoC especiales en Spring manejan la inyección de dependencia de objetos y funciones de manera eficiente y con un esfuerzo mínimo por parte del desarrollador.

Spring y Spring Boot utilizan anotaciones Java. Es un sistema en el que las etiquetas no compilables con un símbolo @ están incrustadas en el código y proporcionan metadatos que se pueden utilizar para agregar funcionalidad.

El desarrollador carga Spring Boot agregando las dependencias Spring y Spring Boot Starter a los archivos Maven pom.xml o Gradel build.gradle del nuevo proyecto. A partir de ahí, el desarrollador agrega las anotaciones de Spring Boot adecuadas en el código, como @RestController para crear un controlador REST para servicios web. Spring Boot añade muchas utilidades que simplifican en gran medida el diseño y la codificación de la aplicación; por ejemplo, proporciona integración con tres bibliotecas de asignación JSON, como el uso de Jackson para serializar y deserializar el código. Las funciones de Spring Security son esenciales para crear cualquier tipo de aplicación que utilice HTTP o formularios, o, francamente, cualquier aplicación web.

El marco de Spring Boot configura una arquitectura de cuatro capas que separa las transferencias de datos JSON y de solicitud HTTP de la lógica de negocio del programa y, a continuación, la lógica de una representación de datos de objeto de la representación real en una base de datos externa. Esta arquitectura se puede utilizar tal cual, lo que resulta ideal para crear microservicios, o se puede asignar a un patrón de diseño Model-View-Controller, que podría ser más adecuado para una aplicación web.

Una vez que haya agregado todas las dependencias y escrito la lógica del programa, los comandos de ejecución estándar de Maven y Gradle iniciarán la aplicación. Spring Boot se asegurará de que todo lo que necesita de Spring Framework esté instalado y configurado correctamente para el proyecto. Si desea crear un archivo ejecutable autónomo, Spring Boot le permite crear un archivo JAR anidado directamente, que puede distribuir para que se ejecute en cualquier JVM estándar (Java 17 o posterior) o en una plataforma de imagen nativa, como GraalVM.

Ventajas de Spring Boot

Spring Boot ofrece varias ventajas a los desarrolladores empresariales de Java sobre el uso del propio Spring Framework. En términos generales, si los requisitos del proyecto se pueden cumplir con Spring Boot o Spring Boot, es mejor usar Spring Boot para aprovechar la configuración simplificada y el aumento de la productividad. Las ventajas específicas incluyen:

  • Desarrollo acelerado. Con Spring Boot, los equipos de desarrollo pueden comenzar a correr. Los algoritmos "opinionados" de Spring Boot pueden detectar, cargar y configurar los módulos, funciones y bibliotecas de terceros necesarios para el proyecto. Por el contrario, con Spring, los desarrolladores tienen que elegir manualmente qué incluir.
  • Configuración simplificada. Los desarrolladores que utilizan lenguajes como Java, C++ y C# saben que la configuración de todos los elementos de una aplicación compleja puede llevar mucho tiempo y ser propensa a errores. Spring Boot hace un excelente trabajo con la configuración automática de módulos y bibliotecas de terceros, lo que ahorra mucho trabajo. Además, si los módulos o bibliotecas que utiliza cambian durante el proceso de desarrollo, Spring Boot simplemente se adaptará y cambiará la configuración automáticamente.
  • Funciones incorporadas para microservicios. Spring Boot se puede utilizar para crear cualquier tipo de aplicación Java empresarial, ya sea reactiva, basada en eventos, por lotes, sin servidor, cliente/servidor o web. Sin embargo, es particularmente fuerte en la creación de microservicios, con patrones incorporados para la detección de servicios, el equilibrio de carga, el rastreo de ejecución distribuida y la transmisión de mensajes en tiempo real. Igualmente importante, las aplicaciones de Spring Boot comienzan rápidamente y se apagan rápidamente, lo que es esencial para la escalabilidad de los microservicios.
  • Gestión de dependencias. Las dependencias se producen cuando una parte del código de una aplicación se basa en la existencia y el correcto funcionamiento de bibliotecas, módulos, plugins, microservicios y API. Spring Boot cuenta con soporte integrado para la inyección de dependencia (DI), que permite incorporar objetos y funciones definidos externamente en la aplicación con el mínimo esfuerzo. Esto permite a los desarrolladores centrarse en su lógica de programa en lugar de preocuparse por los detalles técnicos específicos de los recursos externos.
  • Capacidades listas para la producción. El objetivo no es escribir software. Es para ejecutar software. El empaquetado y la distribución de aplicaciones Java empresariales pueden ser difíciles debido a la falta de estándares ampliamente aceptados para empaquetarlas, y lo mismo ocurre con las aplicaciones que utilizan Spring Framework. Spring Boot soluciona ese problema al permitir que los equipos elijan archivos JAR ejecutables o archivos WAR desplegables. Las aplicaciones también se pueden desplegar directamente en contenedores o ejecutarse como servicios del sistema Windows o Unix/Linux.
  • Integración perfecta. Casi por definición, una aplicación Java empresarial necesita hablar con otras aplicaciones, como bases de datos, sistemas ERP, aplicaciones en la nube, aplicaciones de cliente/servidor heredadas, lo que sea. Spring Boot incluye muchas integraciones listas para usar, y casi todos los proyectos de código abierto o los principales proveedores de software proporcionan herramientas de integración y orientación. Por ejemplo, Oracle proporciona y admite JDBC, UCP y Oracle Backend for Spring Boot and Microservices, así como un conjunto de Spring Boot Starters para varias tecnologías de Oracle.

Funciones de Spring Boot

Spring Boot ha evolucionado a lo largo de décadas para adaptarse mejor a las necesidades de los desarrolladores empresariales de Java. Si bien el número de características puede parecer abrumador, la realidad es que el trabajo de Spring Boot es simplificar. Al elegir de forma inteligente qué módulos, funciones y bibliotecas incluir en un proyecto, los desarrolladores pueden centrarse más en la lógica del programa, menos en la infraestructura, la plomería y el andamio.

Estas son algunas de las características de Spring Boot que ayudan a simplificar el proceso de desarrollo.

  • Autoconfiguración. El enfoque opinado de Spring Boot determina qué módulos y bibliotecas externas utilizar con un proyecto y, a continuación, los configura automáticamente. Eso ahorra a los desarrolladores incontables horas no solo en elegir esos módulos y bibliotecas, sino también en aprender a configurarlos para el contexto de la aplicación, un proceso que puede llevar bastante tiempo y ser propenso a errores.
  • JAR ejecutables autónomos. Una de las características más importantes de Spring Boot es su capacidad para crear archivos JAR (archivo Java) ejecutivos independientes que se pueden distribuir directamente al entorno de tiempo de ejecución. El JAR incluye todos los archivos y metadatos de clase Java, así como cualquier imagen y otros recursos necesarios para ejecutar las aplicaciones autónomas.
  • Servidores web incorporados. Si la aplicación empresarial de Java requiere un servidor HTTP, Spring Boot instala y configura ese servidor automáticamente y con opciones de seguridad predeterminadas seguras. Los servidores disponibles incluyen Tomcat, Jetty y Undertow.
  • Arrancadores de bota de primavera. Una aplicación empresarial tendrá muchas bibliotecas y dependencias para servidores web, herramientas de análisis, depuradores, patrones de diseño, persistencia, comunicaciones, burlas, equilibrio de carga, etc. Un Spring Boot Starter es una forma de agrupar todos ellos en un único archivo de configuración para simplificar el proceso, reducir la cantidad de código y garantizar que no se olvide nada. Es una ventanilla única.
  • Configuración externalizada. Spring Boot facilita la ejecución del código de una aplicación en diferentes entornos. La configuración externalizada le permite personalizar docenas de propiedades, incluidos argumentos de línea de comandos, archivos de propiedades y variables de entorno, específicas de un entorno de tiempo de ejecución y encapsularlas en un único archivo que se carga en tiempo de ejecución y al que se accede mediante anotaciones @.
  • Herramientas de desarrollo de Spring Boot. Los desarrolladores que crean aplicaciones Java empresariales pueden utilizar su cadena de herramientas favorita, como el IDE, las herramientas de DevOps, la gestión del código fuente, etc. Además, Spring Boot incluye herramientas adicionales, que se pueden cargar o no, según las preferencias del desarrollador, para ayudar con la gestión de errores, el registro, la ejecución remota y la administración de classpath.
  • Actuador Spring Boot. Spring Boot Actuator permite definir puntos finales que se pueden supervisar durante el tiempo de ejecución para determinar el estado de la aplicación. Esos puntos finales se pueden activar, desactivar y exponer mediante HTTP o JMX (Java Management Extensions); normalmente, los vería utilizando su herramienta de gestión de aplicaciones favorita para ver si la aplicación está funcionando bien, o si se está quedando sin memoria, se está quedando sin memoria, se está ralentizando, se devuelven excepciones o si hay algún otro problema.
  • Simplificación de la gestión de dependencias. Podría decirse que la mayor fortaleza de la estructura de Spring Boot es que permite a los desarrolladores evitar en gran medida la configuración manual de dependencias. Las instalaciones de Spring Boot para una gestión de dependencias simplificada pueden configurar automáticamente los módulos y bibliotecas necesarios, usar Spring Boot Starters para empaquetar bibliotecas y empaquetar aplicaciones mediante JAR ejecutables independientes.
  • Funciones listas para producción. Una vez que una aplicación está lista para implementarse, Spring Boot ofrece varias capacidades que pueden ayudar. Estos incluyen Spring Boot Starters para empaquetar todas las configuraciones, JAR ejecutables independientes para distribuir la aplicación y Spring Boot Actuators para proporcionar supervisión del estado del tiempo de ejecución.
¿Por qué es tan popular la bota de primavera? diagrama, descripción a continuación

¿Por qué es tan popular Spring Boot?

Las ventajas van desde el desarrollo hasta el despliegue de aplicaciones.

Características populares de Spring Boot

Desarrollo:

  • Autoconfiguración
  • Herramientas de desarrollo de Spring Boot
  • Gestión de dependencias simplificada
  • Servidores web incorporados

Despliegue:

  • JARS ejecutables independientes
  • Arrancadores Spring Boot
  • Configuración externalizada
  • Actuador Spring Boot
  • Funciones listas para producción
Estos y otros beneficios de Spring Boot lo convierten en una opción popular para los desarrolladores de Java.

Arquitectura de Spring Boot

Spring Boot se puede utilizar para ayudar a escribir cualquier tipo de aplicación Java empresarial, grande o pequeña, ya sea un microservicio optimizado, una aplicación crítica para el negocio compleja para ejecutarse localmente o una aplicación en la nube moderna. Una aplicación típica de Spring Boot contiene cuatro capas, que se pueden adaptar a las necesidades de la aplicación. Un microservicio simple, por ejemplo, puede no tener una base de datos o una capa de persistencia.

De abajo hacia arriba, aquí están las cuatro capas:

  • Capa de base de datos. Base de datos o bases de datos reales utilizadas para controlar las aplicaciones y que se utilizan para operaciones CRUD. Puede utilizar prácticamente cualquier base de datos extensible con Spring Boot.
  • Capa de persistencia. La capa de persistencia proporciona una abstracción objeto-relacional de la capa de base de datos real. La lógica de la aplicación se ocupa de la capa de persistencia mediante la interacción con objetos de negocio; el código de la capa de persistencia, a continuación, los convierte en filas/columnas relacionales y transfiere la operación CRUD a la capa de base de datos.
  • Capa de negocio. Aquí es donde un equipo de desarrollo resuelve el problema de la organización. La capa de negocio incluye el flujo del programa, así como instrucciones para la gestión de eventos. Se comunica con los usuarios y aplicaciones externas en la capa de presentación y con los datos a través de la capa de persistencia.
  • Capa de presentación. La capa de presentación de una aplicación de Spring Boot habla con el mundo exterior a través de HTTP y JSON. Las solicitudes que entran se autentican aquí y el JSON se desempaqueta. A continuación, las solicitudes de servicio se transfieren a la capa de negocio para su gestión. Las interfaces externas a la aplicación se denominan "vistas".

Configurar Spring Boot

¿Listo para probar Spring Boot? Es fácil configurarlo, y es quizás por eso que tantos equipos de desarrollo están usando Spring Boot y por qué los estudiantes están aprendiendo este popular marco de aplicaciones. Cualquier persona que quiera comenzar debe consultar la documentación oficial de Desarrollo de su primera aplicación de Spring Boot del proyecto de código abierto, pero aquí hay un resumen de los pasos:

  1. Asegúrese de que está ejecutando Java 17 o posterior.
  2. Configure Maven o Gradle y defina el archivo pom.xml o Gradle build.gradle de Maven para incluir el marco de aplicación de Spring Boot.
  3. Agregue las dependencias de classpath para Spring Boot Starter, que gestiona las dependencias específicas de su proyecto.
  4. Escribe tu código, que puede ser un simple "Hello World" o una gran aplicación crítica para el negocio, con las anotaciones adecuadas para incluir la funcionalidad de Spring Boot.
  5. Ejecute la aplicación localmente mediante Maven o Gradle y confirme que funciona a su satisfacción.
  6. Empaquetar la aplicación en un JAR ejecutable autónomo que puede distribuir, si es necesario.

Si desea probar el servicio, consulte CloudBank, una aplicación que utiliza la mayoría de los servicios desplegados.

Uso de tecnologías de Oracle con Spring Boot

La capa de base de datos de Spring Boot es compatible con una amplia gama de bases de datos locales y en la nube; dos opciones populares son Oracle Database y MySQL. Los equipos de desarrolladores de Oracle se comprometen a apoyar Spring Boot aportando código a la biblioteca de código abierto e integrando los muchos marcos y bibliotecas de Oracle. También puede encontrar iniciadores de primavera soportados para Oracle Database y OCI Services en Oracle Cloud Marketplace.

Oracle Backend for Microservices and AI, una nueva plataforma lanzada en junio de 2024, aprovisiona un "backend como servicio" con Oracle Database y otros componentes de infraestructura que operan en varias nubes para permitir a los desarrolladores crear e implementar microservicios en Spring Boot y otros marcos. Simplifica la tarea de crear, probar y operar plataformas de microservicios e incluye un sandbox de IA (revisión para desarrolladores) para una rápida iteración y experimentación con técnicas de RAG y autenticación con Oracle Database 23ai. AI Sandbox puede generar código de microservicio de Spring AI que se puede gestionar e implementar en Oracle Backend for Microservices and AI, que proporciona una interfaz de línea de comandos, un plugin de Visual Studio Code (VS Code), un plugin de IntelliJ, detección de servicios y gestión de eventos.

En pocas palabras, Spring Boot es la opción de código abierto inteligente. Permite a su equipo de desarrollo escribir aplicaciones de negocio complejas mucho más rápido que usar el marco de Spring. Debido a que Spring Boot instala de manera inteligente características, funciones y bibliotecas externas y luego las configura automáticamente, los desarrolladores pueden centrarse en resolver el problema empresarial, donde se realiza el valor real de la aplicación.

Los modelos de IA detectan el fraude en tiempo real, ayudan a los investigadores de la salud a encontrar información, analizar las opiniones de los clientes y el sentimiento de las redes sociales, entre otros. ¿El hilo común? Desarrollo inteligente que hace un uso efectivo de los datos. Profundiza en 10 casos de uso de IA reales.

Preguntas frecuentes sobre Spring Boot

¿Qué es Spring Boot y por qué se utiliza?

Spring Boot es un marco de aplicación que permite a los desarrolladores de Java aprovechar la potente arquitectura de cuatro capas de Spring Framework, pero es significativamente más fácil de usar. Las ventajas son la mejora de la productividad de los desarrolladores, la reducción del tiempo de implementación y la menor posibilidad de errores debido a las funciones de configuración automática de Spring Boot.

¿Es Spring Boot una estructura de backend?

Spring Boot es un marco para crear aplicaciones Java empresariales. Es adecuado para el despliegue en la nube y local y para la creación de software web, de microservicios y de cliente/servidor. Spring Boot abarca tanto la funcionalidad de front-end (presentación y lógica de negocio) como la de backend (abstracción de persistencia y conectividad de base de datos).