Puede pensar en Spring Boot como un envoltorio alrededor de Spring MVC y Spring frameworks.
Facilita la creación y el monitoreo de sus aplicaciones basadas en Spring (y Spring MVC).
¿Por qué necesitamos Spring Boot?
- ¿Cómo funciona el algoritmo de Pandora?
- ¿Puede la aplicación web Meteor en la práctica escalar a más de 100,000 usuarios que compartirían ~ 1 foto (a veces video) y chatearían entre ellos (uno a uno) todos los días?
- ¿Cuáles son algunos buenos libros para el desarrollo web si ya eres programador y has tenido alguna exposición al desarrollo web con PHP antes?
- ¿Qué compañía ofrece los mejores servicios de aplicaciones web en Dubai?
- ¿Cómo construyo una herramienta de recorte de imágenes basada en la web?
Las aplicaciones basadas en Spring tienen mucha configuración.
Cuando usamos Spring MVC, necesitamos configurar el escaneo de componentes, el servlet del despachador, un resolutor de vista, frascos web (para entregar contenido estático) entre otras cosas.
<frijol
class = “org.springframework.web.servlet.view.InternalResourceViewResolver”>
/ WEB-INF / views /
.jsp
El fragmento de código siguiente muestra la configuración típica de un servlet despachador en una aplicación web.
dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
/WEB-INF/todo-servlet.xml
1
dispatcher
/
Cuando usamos Hibernate / JPA, tendríamos que configurar una fuente de datos, una fábrica de gestores de entidades, un gestor de transacciones entre muchas otras cosas.
<bean id = "dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method = “close”>
<frijol
class = “org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean”
id = “entityManagerFactory”>
Problema 1: Configuración automática de Spring Boot: ¿Podemos pensar diferente?
Spring Boot trae un nuevo proceso de pensamiento en torno a esto.
¿Podemos aportar más inteligencia a esto? Cuando se agrega un tarro de mvc de resorte a una aplicación, ¿podemos configurar automáticamente algunos beans automáticamente?
- ¿Qué tal la configuración automática de un origen de datos si Hibernate jar está en el classpath?
- ¿Qué tal la configuración automática de un Servlet Dispatcher si Spring MVC jar está en el classpath?
Habría disposiciones para anular la configuración automática predeterminada.
Spring Boot analiza a) Frameworks disponibles en CLASSPATH b) Configuración existente para la aplicación. En base a esto, Spring Boot proporciona la configuración básica necesaria para configurar la aplicación con estos marcos. Esto se llama
Auto Configuration
.
Problema n. ° 2: Proyectos de arranque de arranque de Spring: Construido alrededor de patrones bien conocidos
Digamos que queremos desarrollar una aplicación web.
En primer lugar, deberíamos identificar los marcos que queremos usar, qué versiones de marcos usar y cómo conectarlos.
Todas las aplicaciones web tienen necesidades similares. A continuación se enumeran algunas de las dependencias que utilizamos en nuestro Curso Spring MVC. Estos incluyen Spring MVC, Jackson Databind (para el enlace de datos), Hibernate-Validator (para la validación del lado del servidor usando la API de Validación de Java) y Log4j (para el registro). Al crear este curso, tuvimos que elegir las versiones compatibles de todos estos marcos.
org.springframework
spring-webmvc
4.2.2.RELEASE
com.fasterxml.jackson.core
jackson-databind
2.5.3
org.hibernate
hibernate-validator
5.0.2.Final
log4j
log4j
1.2.17
Esto es lo que dice la documentación de Spring Boot sobre los entrantes.
Los principiantes son un conjunto de descriptores de dependencia convenientes que puede incluir en su aplicación. Obtiene una ventanilla única para toda la tecnología Spring y relacionada que necesita, sin tener que buscar código de muestra y copiar y pegar cargas de descriptores de dependencia. Por ejemplo, si desea comenzar a usar Spring y JPA para el acceso a la base de datos, simplemente incluya la dependencia spring-boot-starter-data-jpa en su proyecto, y estará listo.
Consideremos un ejemplo de inicio: Spring Boot Starter Web.
Si desea desarrollar una aplicación web o una aplicación para exponer servicios relajantes, Spring Boot Start Web es el iniciador para elegir. Vamos a crear un proyecto rápido con Spring Boot Starter Web usando Spring Initializr.
Dependencia de Spring Boot Starter Web
org.springframework.boot
spring-boot-starter-web
La siguiente captura de pantalla muestra las diferentes dependencias que se agregan a nuestra aplicación
Las dependencias se pueden clasificar en:
- Primavera – núcleo, frijoles, contexto, aop
- Web MVC – (Spring MVC)
- Jackson – para JSON Binding
- Validación – Validador de Hibernación, API de Validación
- Contenedor de Servlet Embebido – Tomcat
- Registro – logback, slf4j
Cualquier aplicación web típica usaría todas estas dependencias. Spring Boot Starter Web viene preempacado con estos. Como desarrollador, no necesitaría preocuparme ni por estas dependencias ni por sus versiones compatibles.
Opciones de proyecto Spring Boot Starter
Como vemos en Spring Boot Starter Web, los proyectos iniciales nos ayudan a comenzar rápidamente a desarrollar tipos específicos de aplicaciones.
- spring-boot-starter-web-services – Servicios web SOAP
- spring-boot-starter-web – Aplicaciones web y RESTful
- spring-boot-starter-test – Pruebas unitarias y pruebas de integración
- spring-boot-starter-jdbc – JDBC tradicional
- spring-boot-starter-hateoas – Agregue funciones HATEOAS a sus servicios
- spring-boot-starter-security – Autenticación y autorización con Spring Security
- spring-boot-starter-data-jpa – Spring Data JPA con Hibernate
- spring-boot-starter-cache: habilitación del soporte de almacenamiento en caché de Spring Framework
- spring-boot-starter-data-rest – Exponer servicios REST simples usando Spring Data REST
Otros objetivos de Spring Boot
También hay algunos entrantes para cosas técnicas
- Spring-boot-starter-actuator: para usar funciones avanzadas como monitoreo y seguimiento de su aplicación desde el primer momento
- spring-boot-starter-undertow, spring-boot-starter-jetty, spring-boot-starter-tomcat: para elegir su elección específica de contenedor de servlet incorporado
- spring-boot-starter-logging: para iniciar sesión con logback
- spring-boot-starter-log4j2 – Registro utilizando Log4j2
Spring Boot tiene como objetivo habilitar aplicaciones listas para producción en poco tiempo.
- Actuador: permite el monitoreo avanzado y el rastreo de aplicaciones.
- Integraciones de servidores integrados: dado que el servidor está integrado en la aplicación, necesitaría tener un servidor de aplicaciones separado instalado en el servidor.
- Manejo predeterminado de errores
Para más ver estos videos
Tutorial Spring Boot para principiantes – YouTube