Humor: Cuando mi jefe me manda una presentación sobre nuevas tecnologías

Publicado en Humor. 1 Comment »

Un poco de Spring Boot

Para todos los que no leísteis este post (y para los despistados que no leen mis correos :D), o para todos esos que ya usáis Spring Roo… (yo espero ponerlo en práctica muy pronto!!)

Spring Boot simplifica la creación de aplicaciones de aplicaciones y servicios Spring extendiendo el concepto de Runtime configurando por debajo el AppServer, Contextos de Spring, monitorización,… todo basado en una aproximación Convention-Over-Configuration.

Spring Boot permite crear aplicaciones standalone o despliegues WAR.

Los objetivos de Spring Boot son (algunos me suenan :D):

· Proveer una forma muy sencilla de arrancar desarrollos Spring

· Ofrecer funcionalidad out-of-the-box pero permitir incorporar las peculiaridades del proyecto

· Proporcionar una serie de características no funcionales comunes a los proyectos (por ejemplo, servidores embebidos, seguridad, indicadores, configuración externalizada)

· No necesitar generación código ni configuración XML

Spring Boot también ofrece una línea de commandos que corre scripts Groovy (Spring Boot CLI), y que permite por ejemplo:

· Crear fichero app.groovy:

· Correrlo desde el Shell:

· Abrir navegador http://localhost:8080 y ver resultado

También puedo usar Spring Boot sin la consola, veamos en Java este mismo Servicio con Spring Boot:

· Crear clase Java:

· Ejecutar desde Java:

· Abrir navegador http://localhost:8080 y ver resultado

Spring Boot se compone de varios módulos, cada uno con su documentación en el “estándar” .md como Spring Boot Core:

· Provee la funcionalidad Core para el resto de módulos. Tiene muy pocas dependencias para poder usarse desde apls standalone.

· La clase SpringApplication ofrece una forma de arrancar una aplicación Spring:

· La clase SpringApplication permite acceder a las opciones de la línea de comandos

· Ofrece Soporte Embebido a Contenedor de Servlet (mira Miguel, lo que buscábamos) ofreciendo un nuevo ApplicationContext que permite arrancar un contenedor de servlet embebidos. Se ofrece TomcatEmbeddedServletContainerFactory y JettyEmbeddedServletContainerFactory para corer embebidos Tomcat o Jetty.

· Evidentemente también permite personalizar el contenedor con:

· Otra funcionalidad muy interesante es que permite el uso de YAML para hacer configuraciones jerárquicas transformando estas configuraciones a properties, por ejemplo este yaml:

Se transforma a:

Otros módulos interesantes son:

· Spring Boot Actuator que se encarga de arrancar aplicaciones de forma muy sencilla (REST, Spring MVC, Spring Batch,…)

· Spring Boot AutoConfigure permite configurar automáticamente la aplicación Spring en base a las dependencias que use. Se habilita con @EnableAutoConfiguration

y soporta:

o Web (Tomcat or Jetty, Spring MVC)

o JDBC (Commons DBCP, embedded databases, jdbcTemplate)

o JPA with Hibernate

o Spring Data JPA (automatically detecting Repository classes)

o Spring Batch (including JobLauncherCommandLineRunners and database initialization)

o Thymeleaf templating

o Reactor asynchronous JVM programming

Para entender un poco mejor todo lo que nos ofrece Spring Boot os recomiendo echarle un ojo a sus ejemplos en https://github.com/SpringSource/spring-boot/tree/master/spring-boot-samples algunos son impresionantemente sencillos!!!

A %d blogueros les gusta esto: