SlideShare a Scribd company logo
1 of 28
Download to read offline
Spring ha muerto... 
¡Larga vida a 
Spring (Boot)! 
Iván López - @ilopIvmán Laóprez - @ilopmar MADRID · NOV 21-22 · 2014
Soy Iván López 
@ilopmar 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014 
¡Hola! 
http://greachconf.com
DISCLAIMER 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
¿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
¿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
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
¿Qué necesito para instalarlo? 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014 
– Java 6+ 
– GVM: http://gvmtool.net 
– Descargarlo 
http://repo.spring.io/release/org/springframework/boot/ 
spring-boot-cli/ 
– Añadirlo como dependencia
Spring Boot CLI 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
Spring Boot CLI 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014 
DEMO
¿Qué ha pasado? 
import org.springframework.boot.SpringApplication 
import org.springframework.boot.autoconfigure.EnableAutoConfiguration 
import org.springframework.web.bind.annotation.RequestMapping 
import org.springframework.web.bind.annotation.RestController 
@Grab('org.springframework.boot:spring-boot-starter-web:1.2.0.M2') 
@EnableAutoConfiguration 
@RestController 
class ThisWillActuallyRun { 
@RequestMapping("/") 
String home() { 
'Hello Codemotion!' 
} 
static void main(String[] args) { 
SpringApplication.run ThisWillActuallyRun, args 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014 
} 
}
¿Qué ha pasado? 
import org.springframework.boot.SpringApplication 
import org.springframework.boot.autoconfigure.EnableAutoConfiguration 
import org.springframework.web.bind.annotation.RequestMapping 
import org.springframework.web.bind.annotation.RestController 
@Grab('org.springframework.boot:spring-boot-starter-web:1.2.0.RC1') 
@EnableAutoConfiguration 
@RestController 
class ThisWillActuallyRun { 
@RequestMapping("/") 
String home() { 
'Hello Codemotion!' 
} 
static void main(String[] args) { 
SpringApplication.run ThisWillActuallyRun, args 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014 
} 
}
@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
Iván López - @ilopmar MADRID · NOV 21-22 · 2014 
Starters 
– POMs estándar 
– Dependencias recomendadas 
– Gestión de dependencias transitivas
Starters 
actuator 
amqp 
aop 
batch 
data-elasticsearch 
data-mongodb 
groovy-templates 
integration 
jdbc 
redis 
remote-shell 
security 
websocket 
... 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
Ok, ¿cómo empiezo? 
– http://start.spring.io 
– Maven/Gradle 
– Java/Groovy 
– Versión JDK 
– Starters 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
Estructura del proyecto 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014 
$ tree 
. ├── build.gradle 
└── src 
├── main 
│ ├── groovy 
│ │ └── es 
│ │ └── codemotion 
│ │ └── Application.groovy 
│ └── resources 
│ ├── application.properties 
│ ├── static 
│ └── templates 
└── test 
└── groovy 
└── es 
└── codemotion 
└── ApplicationTests.groovy
spring-boot-starter-actuator 
– Requisitos no funcionales 
– Métricas 
– Health-checks 
– Configuración externalizada 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
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
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
Iván López - @ilopmar MADRID · NOV 21-22 · 2014 
Logging 
– Logback por defecto 
– logback.groovy 
– @groovy.util.logging.Slf4j
Iván López - @ilopmar MADRID · NOV 21-22 · 2014 
DEMO
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
¿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
¿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
CONCLUSIONES 
Iván López - @ilopmar MADRID · NOV 21-22 · 2014
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
¡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?

More Related Content

What's hot

Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallosTesteando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallosMicael Gallego
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Eduard Tomàs
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7Luis Ruiz Pavón
 
Desenredando el toolchain de Javascript
Desenredando el toolchain de JavascriptDesenredando el toolchain de Javascript
Desenredando el toolchain de JavascriptSoftware Guru
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveEduard Tomàs
 
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareAntonio Gallego
 
Angular 2 Framework para la Web
Angular 2 Framework para la WebAngular 2 Framework para la Web
Angular 2 Framework para la Webrafaecheve
 
Git y drupal
Git y drupalGit y drupal
Git y drupalJuampy NR
 
Fernando Gandia - Airflow - PyData Mallorca 18-10-2016
Fernando Gandia - Airflow - PyData Mallorca 18-10-2016Fernando Gandia - Airflow - PyData Mallorca 18-10-2016
Fernando Gandia - Airflow - PyData Mallorca 18-10-2016Fernando Gandia
 
Keda o como convertir Kubernetess en Serverless
Keda o como convertir Kubernetess en ServerlessKeda o como convertir Kubernetess en Serverless
Keda o como convertir Kubernetess en ServerlessEduard Tomàs
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open sourcescrumecuador
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netAlberto Diaz Martin
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsDavid Calavera
 
Devfest Lima2012
Devfest Lima2012Devfest Lima2012
Devfest Lima2012ykro
 

What's hot (20)

Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallosTesteando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
Testeando aplicaciones Kubernetes: escalabilidad y tolerancia a fallos
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
 
Desenredando el toolchain de Javascript
Desenredando el toolchain de JavascriptDesenredando el toolchain de Javascript
Desenredando el toolchain de Javascript
 
De zero a 100 con Spring Boot
De zero a 100 con Spring BootDe zero a 100 con Spring Boot
De zero a 100 con Spring Boot
 
Asp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep DiveAsp.Net Core 1.0 Deep Dive
Asp.Net Core 1.0 Deep Dive
 
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMwareMicroservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMware
 
Angular 2 Framework para la Web
Angular 2 Framework para la WebAngular 2 Framework para la Web
Angular 2 Framework para la Web
 
Git y drupal
Git y drupalGit y drupal
Git y drupal
 
JVM Reactive Programming
JVM Reactive ProgrammingJVM Reactive Programming
JVM Reactive Programming
 
Maven
MavenMaven
Maven
 
Fernando Gandia - Airflow - PyData Mallorca 18-10-2016
Fernando Gandia - Airflow - PyData Mallorca 18-10-2016Fernando Gandia - Airflow - PyData Mallorca 18-10-2016
Fernando Gandia - Airflow - PyData Mallorca 18-10-2016
 
Keda o como convertir Kubernetess en Serverless
Keda o como convertir Kubernetess en ServerlessKeda o como convertir Kubernetess en Serverless
Keda o como convertir Kubernetess en Serverless
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)
 
Cross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.netCross development - React para desarrolladores de asp.net
Cross development - React para desarrolladores de asp.net
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
 
React redux workshop
React redux workshopReact redux workshop
React redux workshop
 
Devfest Lima2012
Devfest Lima2012Devfest Lima2012
Devfest Lima2012
 

Viewers also liked

Groovy no es java sin puntos y comas - Codemotion Madrid 2014
Groovy no es java sin puntos y comas - Codemotion Madrid 2014Groovy no es java sin puntos y comas - Codemotion Madrid 2014
Groovy no es java sin puntos y comas - Codemotion Madrid 2014Pablo Alba
 
CAS2014 - Product Owners, Scrum Masters, Agile Coach, Unicornios y otros sere...
CAS2014 - Product Owners, Scrum Masters, Agile Coach, Unicornios y otros sere...CAS2014 - Product Owners, Scrum Masters, Agile Coach, Unicornios y otros sere...
CAS2014 - Product Owners, Scrum Masters, Agile Coach, Unicornios y otros sere...Israel Alcazar
 
Sistema de préstamo
Sistema de préstamoSistema de préstamo
Sistema de préstamoBiblioteca2
 
Spring Data y Mongo DB en un proyecto Real
Spring Data y Mongo DB en un proyecto RealSpring Data y Mongo DB en un proyecto Real
Spring Data y Mongo DB en un proyecto RealDavid Gómez García
 
Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootCloudAppi
 
Spring Boot Microservices vs Akka Actor Cluster
Spring Boot Microservices vs Akka Actor Cluster Spring Boot Microservices vs Akka Actor Cluster
Spring Boot Microservices vs Akka Actor Cluster OpenCredo
 
movimiento uniformemente acelerado
movimiento uniformemente aceleradomovimiento uniformemente acelerado
movimiento uniformemente aceleradoJessikaMtz94
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great InfographicsSlideShare
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShareKapost
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareEmpowered Presentations
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation OptimizationOneupweb
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingContent Marketing Institute
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksSlideShare
 

Viewers also liked (17)

Groovy no es java sin puntos y comas - Codemotion Madrid 2014
Groovy no es java sin puntos y comas - Codemotion Madrid 2014Groovy no es java sin puntos y comas - Codemotion Madrid 2014
Groovy no es java sin puntos y comas - Codemotion Madrid 2014
 
CAS2014 - Product Owners, Scrum Masters, Agile Coach, Unicornios y otros sere...
CAS2014 - Product Owners, Scrum Masters, Agile Coach, Unicornios y otros sere...CAS2014 - Product Owners, Scrum Masters, Agile Coach, Unicornios y otros sere...
CAS2014 - Product Owners, Scrum Masters, Agile Coach, Unicornios y otros sere...
 
Spring ORM
Spring ORMSpring ORM
Spring ORM
 
Sistema de préstamo
Sistema de préstamoSistema de préstamo
Sistema de préstamo
 
Spring Data y Mongo DB en un proyecto Real
Spring Data y Mongo DB en un proyecto RealSpring Data y Mongo DB en un proyecto Real
Spring Data y Mongo DB en un proyecto Real
 
Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring boot
 
Spring Mvc Final
Spring Mvc FinalSpring Mvc Final
Spring Mvc Final
 
Spring Boot Microservices vs Akka Actor Cluster
Spring Boot Microservices vs Akka Actor Cluster Spring Boot Microservices vs Akka Actor Cluster
Spring Boot Microservices vs Akka Actor Cluster
 
movimiento uniformemente acelerado
movimiento uniformemente aceleradomovimiento uniformemente acelerado
movimiento uniformemente acelerado
 
slide share
slide shareslide share
slide share
 
What Makes Great Infographics
What Makes Great InfographicsWhat Makes Great Infographics
What Makes Great Infographics
 
Masters of SlideShare
Masters of SlideShareMasters of SlideShare
Masters of SlideShare
 
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to SlideshareSTOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
STOP! VIEW THIS! 10-Step Checklist When Uploading to Slideshare
 
You Suck At PowerPoint!
You Suck At PowerPoint!You Suck At PowerPoint!
You Suck At PowerPoint!
 
10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization10 Ways to Win at SlideShare SEO & Presentation Optimization
10 Ways to Win at SlideShare SEO & Presentation Optimization
 
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content MarketingHow To Get More From SlideShare - Super-Simple Tips For Content Marketing
How To Get More From SlideShare - Super-Simple Tips For Content Marketing
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 

Similar to Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!

CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaCommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaIván López Martín
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWTGDG Lima
 
Asp.net 5 en linux , herramientas e integración
Asp.net 5 en linux , herramientas e integraciónAsp.net 5 en linux , herramientas e integración
Asp.net 5 en linux , herramientas e integraciónrobertogg
 
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Iván López Martín
 
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Stratio
 
Aplicaciones mobile con Angular JS y Ionic-framework
Aplicaciones mobile con Angular JS y Ionic-frameworkAplicaciones mobile con Angular JS y Ionic-framework
Aplicaciones mobile con Angular JS y Ionic-frameworkQuasarMaximus
 
Aplicaciones Mobile con AngularJS y Ionic framework
Aplicaciones Mobile con AngularJS y Ionic framework Aplicaciones Mobile con AngularJS y Ionic framework
Aplicaciones Mobile con AngularJS y Ionic framework Marcos Reynoso
 
Spring Madrid User Group - Spring Integration in Action
Spring Madrid User Group - Spring Integration in ActionSpring Madrid User Group - Spring Integration in Action
Spring Madrid User Group - Spring Integration in ActionIván López Martín
 
R shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-defR shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-defPedro Concejero
 
Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Ignacio Muñoz Vicente
 
Desarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaDesarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaSoftware Guru
 
Introducción a PWA
Introducción a PWAIntroducción a PWA
Introducción a PWAJose Leiva
 
Madrid-GUG - ¡Micronaut en acción!
Madrid-GUG - ¡Micronaut en acción!Madrid-GUG - ¡Micronaut en acción!
Madrid-GUG - ¡Micronaut en acción!Iván López Martín
 
Introducción a Spring Roo
Introducción a Spring RooIntroducción a Spring Roo
Introducción a Spring RooPaulo Clavijo
 
Ionic2 01-introduccion
Ionic2 01-introduccionIonic2 01-introduccion
Ionic2 01-introduccionDavid Vaquero
 
MuleSoft Buenos Aires Meetup Introducción Dataweave
MuleSoft Buenos Aires Meetup Introducción DataweaveMuleSoft Buenos Aires Meetup Introducción Dataweave
MuleSoft Buenos Aires Meetup Introducción DataweaveFlorenciaCattelani
 
40 Novedades de JavaSE 9
40 Novedades de JavaSE 940 Novedades de JavaSE 9
40 Novedades de JavaSE 9Alexis Lopez
 

Similar to Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot! (20)

CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaCommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWT
 
Asp.net 5 en linux , herramientas e integración
Asp.net 5 en linux , herramientas e integraciónAsp.net 5 en linux , herramientas e integración
Asp.net 5 en linux , herramientas e integración
 
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
 
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
Meetup: Cómo monitorizar y optimizar procesos de Spark usando la Spark Web - ...
 
Spark web meetup
Spark web meetupSpark web meetup
Spark web meetup
 
Aplicaciones mobile con Angular JS y Ionic-framework
Aplicaciones mobile con Angular JS y Ionic-frameworkAplicaciones mobile con Angular JS y Ionic-framework
Aplicaciones mobile con Angular JS y Ionic-framework
 
Aplicaciones Mobile con AngularJS y Ionic framework
Aplicaciones Mobile con AngularJS y Ionic framework Aplicaciones Mobile con AngularJS y Ionic framework
Aplicaciones Mobile con AngularJS y Ionic framework
 
Spring Madrid User Group - Spring Integration in Action
Spring Madrid User Group - Spring Integration in ActionSpring Madrid User Group - Spring Integration in Action
Spring Madrid User Group - Spring Integration in Action
 
MM19ES PWA Studio - Implementación y componentes
MM19ES PWA Studio - Implementación y componentesMM19ES PWA Studio - Implementación y componentes
MM19ES PWA Studio - Implementación y componentes
 
R shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-defR shiny-grupo-usuarios-r-def
R shiny-grupo-usuarios-r-def
 
Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2
 
Desarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaDesarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache Cordova
 
Introducción a PWA
Introducción a PWAIntroducción a PWA
Introducción a PWA
 
Madrid-GUG - ¡Micronaut en acción!
Madrid-GUG - ¡Micronaut en acción!Madrid-GUG - ¡Micronaut en acción!
Madrid-GUG - ¡Micronaut en acción!
 
Introducción a Spring Roo
Introducción a Spring RooIntroducción a Spring Roo
Introducción a Spring Roo
 
Ionic2 01-introduccion
Ionic2 01-introduccionIonic2 01-introduccion
Ionic2 01-introduccion
 
MuleSoft Buenos Aires Meetup Introducción Dataweave
MuleSoft Buenos Aires Meetup Introducción DataweaveMuleSoft Buenos Aires Meetup Introducción Dataweave
MuleSoft Buenos Aires Meetup Introducción Dataweave
 
40 Novedades de JavaSE 9
40 Novedades de JavaSE 940 Novedades de JavaSE 9
40 Novedades de JavaSE 9
 
primeros pasos
primeros pasosprimeros pasos
primeros pasos
 

More from Iván López Martín

Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdfVoxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdfIván López Martín
 
VMware - Testcontainers y Spring Boot
VMware - Testcontainers y Spring BootVMware - Testcontainers y Spring Boot
VMware - Testcontainers y Spring BootIván López Martín
 
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud GatewaySpring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud GatewayIván López Martín
 
Codemotion Madrid 2023 - Testcontainers y Spring Boot
Codemotion Madrid 2023 - Testcontainers y Spring BootCodemotion Madrid 2023 - Testcontainers y Spring Boot
Codemotion Madrid 2023 - Testcontainers y Spring BootIván López Martín
 
CommitConf 2023 - Spring Framework 6 y Spring Boot 3
CommitConf 2023 - Spring Framework 6 y Spring Boot 3CommitConf 2023 - Spring Framework 6 y Spring Boot 3
CommitConf 2023 - Spring Framework 6 y Spring Boot 3Iván López Martín
 
Construyendo un API REST con Spring Boot y GraalVM
Construyendo un API REST con Spring Boot y GraalVMConstruyendo un API REST con Spring Boot y GraalVM
Construyendo un API REST con Spring Boot y GraalVMIván López Martín
 
jLove 2020 - Micronaut and graalvm: The power of AoT
jLove 2020 - Micronaut and graalvm: The power of AoTjLove 2020 - Micronaut and graalvm: The power of AoT
jLove 2020 - Micronaut and graalvm: The power of AoTIván López Martín
 
Codemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con MicronautCodemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con MicronautIván López Martín
 
JConf Perú 2020 - ¡Micronaut en acción!
JConf Perú 2020 - ¡Micronaut en acción!JConf Perú 2020 - ¡Micronaut en acción!
JConf Perú 2020 - ¡Micronaut en acción!Iván López Martín
 
JConf Perú 2020 - Micronaut + GraalVM = <3
JConf Perú 2020 - Micronaut + GraalVM = <3JConf Perú 2020 - Micronaut + GraalVM = <3
JConf Perú 2020 - Micronaut + GraalVM = <3Iván López Martín
 
JConf México 2020 - Micronaut + GraalVM = <3
JConf México 2020 - Micronaut + GraalVM = <3JConf México 2020 - Micronaut + GraalVM = <3
JConf México 2020 - Micronaut + GraalVM = <3Iván López Martín
 
Developing Micronaut Applications With IntelliJ IDEA
Developing Micronaut Applications With IntelliJ IDEADeveloping Micronaut Applications With IntelliJ IDEA
Developing Micronaut Applications With IntelliJ IDEAIván López Martín
 
Greach 2019 - Creating Micronaut Configurations
Greach 2019 - Creating Micronaut ConfigurationsGreach 2019 - Creating Micronaut Configurations
Greach 2019 - Creating Micronaut ConfigurationsIván López Martín
 
VoxxedDays Bucharest 2019 - Alexa, nice to meet you
VoxxedDays Bucharest 2019 - Alexa, nice to meet youVoxxedDays Bucharest 2019 - Alexa, nice to meet you
VoxxedDays Bucharest 2019 - Alexa, nice to meet youIván López Martín
 
JavaDay Lviv 2019 - Micronaut in action!
JavaDay Lviv 2019 - Micronaut in action!JavaDay Lviv 2019 - Micronaut in action!
JavaDay Lviv 2019 - Micronaut in action!Iván López Martín
 
CrossDvlup Madrid 2019 - Alexa, encantado de conocerte
CrossDvlup Madrid 2019 - Alexa, encantado de conocerteCrossDvlup Madrid 2019 - Alexa, encantado de conocerte
CrossDvlup Madrid 2019 - Alexa, encantado de conocerteIván López Martín
 
Codemotion Madrid 2018 - Microservicios Reactivos con Micronaut
Codemotion Madrid 2018 - Microservicios Reactivos con MicronautCodemotion Madrid 2018 - Microservicios Reactivos con Micronaut
Codemotion Madrid 2018 - Microservicios Reactivos con MicronautIván López Martín
 
Commit Conf 2018 - Alexa, encantado de conocerte
Commit Conf 2018 - Alexa, encantado de conocerteCommit Conf 2018 - Alexa, encantado de conocerte
Commit Conf 2018 - Alexa, encantado de conocerteIván López Martín
 
Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!Iván López Martín
 
Heisenbug 2018 - Test your Java applications with Spock
Heisenbug 2018 - Test your Java applications with SpockHeisenbug 2018 - Test your Java applications with Spock
Heisenbug 2018 - Test your Java applications with SpockIván López Martín
 

More from Iván López Martín (20)

Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdfVoxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
Voxxed Days CERN 2024 - Spring Boot <3 Testcontainers.pdf
 
VMware - Testcontainers y Spring Boot
VMware - Testcontainers y Spring BootVMware - Testcontainers y Spring Boot
VMware - Testcontainers y Spring Boot
 
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud GatewaySpring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
Spring IO 2023 - Dynamic OpenAPIs with Spring Cloud Gateway
 
Codemotion Madrid 2023 - Testcontainers y Spring Boot
Codemotion Madrid 2023 - Testcontainers y Spring BootCodemotion Madrid 2023 - Testcontainers y Spring Boot
Codemotion Madrid 2023 - Testcontainers y Spring Boot
 
CommitConf 2023 - Spring Framework 6 y Spring Boot 3
CommitConf 2023 - Spring Framework 6 y Spring Boot 3CommitConf 2023 - Spring Framework 6 y Spring Boot 3
CommitConf 2023 - Spring Framework 6 y Spring Boot 3
 
Construyendo un API REST con Spring Boot y GraalVM
Construyendo un API REST con Spring Boot y GraalVMConstruyendo un API REST con Spring Boot y GraalVM
Construyendo un API REST con Spring Boot y GraalVM
 
jLove 2020 - Micronaut and graalvm: The power of AoT
jLove 2020 - Micronaut and graalvm: The power of AoTjLove 2020 - Micronaut and graalvm: The power of AoT
jLove 2020 - Micronaut and graalvm: The power of AoT
 
Codemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con MicronautCodemotion Madrid 2020 - Serverless con Micronaut
Codemotion Madrid 2020 - Serverless con Micronaut
 
JConf Perú 2020 - ¡Micronaut en acción!
JConf Perú 2020 - ¡Micronaut en acción!JConf Perú 2020 - ¡Micronaut en acción!
JConf Perú 2020 - ¡Micronaut en acción!
 
JConf Perú 2020 - Micronaut + GraalVM = <3
JConf Perú 2020 - Micronaut + GraalVM = <3JConf Perú 2020 - Micronaut + GraalVM = <3
JConf Perú 2020 - Micronaut + GraalVM = <3
 
JConf México 2020 - Micronaut + GraalVM = <3
JConf México 2020 - Micronaut + GraalVM = <3JConf México 2020 - Micronaut + GraalVM = <3
JConf México 2020 - Micronaut + GraalVM = <3
 
Developing Micronaut Applications With IntelliJ IDEA
Developing Micronaut Applications With IntelliJ IDEADeveloping Micronaut Applications With IntelliJ IDEA
Developing Micronaut Applications With IntelliJ IDEA
 
Greach 2019 - Creating Micronaut Configurations
Greach 2019 - Creating Micronaut ConfigurationsGreach 2019 - Creating Micronaut Configurations
Greach 2019 - Creating Micronaut Configurations
 
VoxxedDays Bucharest 2019 - Alexa, nice to meet you
VoxxedDays Bucharest 2019 - Alexa, nice to meet youVoxxedDays Bucharest 2019 - Alexa, nice to meet you
VoxxedDays Bucharest 2019 - Alexa, nice to meet you
 
JavaDay Lviv 2019 - Micronaut in action!
JavaDay Lviv 2019 - Micronaut in action!JavaDay Lviv 2019 - Micronaut in action!
JavaDay Lviv 2019 - Micronaut in action!
 
CrossDvlup Madrid 2019 - Alexa, encantado de conocerte
CrossDvlup Madrid 2019 - Alexa, encantado de conocerteCrossDvlup Madrid 2019 - Alexa, encantado de conocerte
CrossDvlup Madrid 2019 - Alexa, encantado de conocerte
 
Codemotion Madrid 2018 - Microservicios Reactivos con Micronaut
Codemotion Madrid 2018 - Microservicios Reactivos con MicronautCodemotion Madrid 2018 - Microservicios Reactivos con Micronaut
Codemotion Madrid 2018 - Microservicios Reactivos con Micronaut
 
Commit Conf 2018 - Alexa, encantado de conocerte
Commit Conf 2018 - Alexa, encantado de conocerteCommit Conf 2018 - Alexa, encantado de conocerte
Commit Conf 2018 - Alexa, encantado de conocerte
 
Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!Devoxx Belgium 2018 - Micronaut in Action!
Devoxx Belgium 2018 - Micronaut in Action!
 
Heisenbug 2018 - Test your Java applications with Spock
Heisenbug 2018 - Test your Java applications with SpockHeisenbug 2018 - Test your Java applications with Spock
Heisenbug 2018 - Test your Java applications with Spock
 

Recently uploaded

La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2montoyagabriela340
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSLincangoKevin
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfangelinebocanegra1
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.marianarodriguezc797
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....Aaron Betancourt
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfcastrodanna185
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...OLGAMILENAMONTAEZNIO
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 

Recently uploaded (20)

BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2La tablet trabajo en grupo del grado 9-2
La tablet trabajo en grupo del grado 9-2
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOSPRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
PRESENTACION DEL TEMA LOS MEJORES SIMULADORES DE CIRCUITOS ELCTRONICOS
 
Carta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdfCarta de Premio y Excel angeline 11-2pdf
Carta de Premio y Excel angeline 11-2pdf
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.Tecnológia 2024.docx.
Tecnológia 2024.docx.Tecnológia 2024.docx.
 
La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....La Electricidad y La Electrónica.pdf....
La Electricidad y La Electrónica.pdf....
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
Análisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdfAnálisis de artefactos tecnologicos .pdf
Análisis de artefactos tecnologicos .pdf
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
Actividad 1-PRESENTACIÓN ANIMADA.pptxPreservación y conservación de los docum...
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 

Codemotion Madrid 2014 - Spring ha muerto... ¡larga vida a spring boot!

  • 1. Spring ha muerto... ¡Larga vida a Spring (Boot)! Iván López - @ilopIvmán Laóprez - @ilopmar MADRID · NOV 21-22 · 2014
  • 2. Soy Iván López @ilopmar Iván López - @ilopmar MADRID · NOV 21-22 · 2014 ¡Hola! http://greachconf.com
  • 3. DISCLAIMER Iván López - @ilopmar MADRID · NOV 21-22 · 2014
  • 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
  • 6. Iván López - @ilopmar MADRID · NOV 21-22 · 2014
  • 7. ¿Qué necesito para instalarlo? Iván López - @ilopmar MADRID · NOV 21-22 · 2014 – Java 6+ – GVM: http://gvmtool.net – Descargarlo http://repo.spring.io/release/org/springframework/boot/ spring-boot-cli/ – Añadirlo como dependencia
  • 8. Spring Boot CLI Iván López - @ilopmar MADRID · NOV 21-22 · 2014
  • 9. Spring Boot CLI Iván López - @ilopmar MADRID · NOV 21-22 · 2014 DEMO
  • 10. ¿Qué ha pasado? import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.EnableAutoConfiguration import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RestController @Grab('org.springframework.boot:spring-boot-starter-web:1.2.0.M2') @EnableAutoConfiguration @RestController class ThisWillActuallyRun { @RequestMapping("/") String home() { 'Hello Codemotion!' } static void main(String[] args) { SpringApplication.run ThisWillActuallyRun, args Iván López - @ilopmar MADRID · NOV 21-22 · 2014 } }
  • 11. ¿Qué ha pasado? import org.springframework.boot.SpringApplication import org.springframework.boot.autoconfigure.EnableAutoConfiguration import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RestController @Grab('org.springframework.boot:spring-boot-starter-web:1.2.0.RC1') @EnableAutoConfiguration @RestController class ThisWillActuallyRun { @RequestMapping("/") String home() { 'Hello Codemotion!' } static void main(String[] args) { SpringApplication.run ThisWillActuallyRun, args 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
  • 14. Starters actuator amqp aop batch data-elasticsearch data-mongodb groovy-templates integration jdbc redis remote-shell security websocket ... Iván López - @ilopmar MADRID · NOV 21-22 · 2014
  • 15. Ok, ¿cómo empiezo? – http://start.spring.io – Maven/Gradle – Java/Groovy – Versión JDK – Starters Iván López - @ilopmar MADRID · NOV 21-22 · 2014
  • 16. Iván López - @ilopmar MADRID · NOV 21-22 · 2014
  • 17. Estructura del proyecto Iván López - @ilopmar MADRID · NOV 21-22 · 2014 $ tree . ├── build.gradle └── src ├── main │ ├── groovy │ │ └── es │ │ └── codemotion │ │ └── Application.groovy │ └── resources │ ├── application.properties │ ├── static │ └── templates └── test └── groovy └── es └── codemotion └── ApplicationTests.groovy
  • 18. spring-boot-starter-actuator – Requisitos no funcionales – Métricas – Health-checks – Configuración externalizada Iván López - @ilopmar MADRID · NOV 21-22 · 2014
  • 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
  • 23. Iván López - @ilopmar MADRID · NOV 21-22 · 2014
  • 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
  • 26. CONCLUSIONES Iván López - @ilopmar MADRID · NOV 21-22 · 2014
  • 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?