SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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?

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

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
 

En vedette (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
 

Similaire à 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 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
 
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
 
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
 

Similaire à 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 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
 
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
 
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
 

Plus de Iván López Martín

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIvá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
 

Plus de Iván López Martín (20)

SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
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
 

Dernier

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Dernier (15)

Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

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?