Slides de mi charla de Codemotion 2014: "Spring ha muerto... ¡Larga vida a Spring Boot!"
El codigo está disponible en: https://github.com/lmivan/codemotion-madrid-2014-examples
--------------
Actualmente se necesita un tiempo nada despreciable para configurar la arquitectura de tu aplicación y empezar a desarrollar. Y si hablamos de Spring esto pueden ser horas o incluso días...
¿Qué tal si tardases menos de 5 minutos?
Spring Boot permite de manera fácil y rápida la creación de aplicaciones basadas en Spring Framework eliminando toda la configuración XML. No se trata de generación de código sino que proporciona configuraciones por defecto a la vez que permite de manera muy sencilla sobreescribir estas configuraciones según nuestras necesidades. Con él podemos crear aplicaciones "production-ready" proporcionando adicionalmente y de manera automática métricas, health-checks y configuración externalizada.
En la charla verás, entre otros, ejemplos introductorios, la creación de un pequeño API Rest, el uso de Websockets... y ¡muchos más!
Todos los ejemplos que verás estarán escritos en Groovy, pero eso no te impedirá sacar todo el provecho a la charla aunque tu lenguaje favorito sea Java o Scala.
4. ¿Qué es Spring Boot?
– Presentado en SpringOne 2013 (~ 1 año)
– Bootstrap rápido de aplicaciones Spring
– Opinionated framework (Convención
sobre Configuración)
– Integración rápida con ecosistema Spring
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
5. ¿Por qué es diferente?
– Requisitos no funcionales
– No XML / No generación de código
– Groovy!
– Aplicaciones stand-alone
– Micro-services
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
12. @EnableAutoConfiguration
– Intenta averiguar y configurar
automáticamente la aplicación
– Se quita del medio cuando definimos
nuestros beans
– Utiliza los .jars de nuestro classpath
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
13. Iván López - @ilopmar MADRID · NOV 21-22 · 2014
Starters
– POMs estándar
– Dependencias recomendadas
– Gestión de dependencias transitivas
19. Listo para producción
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
– Spring CLI
spring jar my-app.jar app.groovy
java -jar my-app.jar
– Gradle
gradle build
java -jar build/libs/my-app-0.0.1.jar
20. Configuración
– application.properties / application.yml
– Sobreescribir propiedades con
parámetros
java -jar app.jar --server.port=8181
– @ConfigurationProperties
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
21. Iván López - @ilopmar MADRID · NOV 21-22 · 2014
Logging
– Logback por defecto
– logback.groovy
– @groovy.util.logging.Slf4j
22. Iván López - @ilopmar MADRID · NOV 21-22 · 2014
DEMO
24. ¿Y qué pasa con Grails?
– Grails es Spring
– Proyectos híbridos
– Grails 3.0 sobre Spring Boot
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
– Netflix
25. ¿Pero habrá algo malo, no?
– Es Spring (para lo bueno y lo malo)
– Annotation Driven Development
– Documentación
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
– Reload
27. Conclusiones
– Futuro de Spring Framework
– Bootstrap rápido de aplicaciones Spring
– Micro-services
– Integración con Gradle (bueno, y maven)
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
28. ¡Gracias!
@ilopmar
lopez.ivan@gmail.com
https://github.com/lmivan
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
Iván López
http://kcy.me/1dbnd
¿Preguntas?