Spring Boot et. al.Para el impaciente
● Automatiza tus proyectoso Convención sobre configuración à la
Maveno Flexible como Ant… pero no tan
complejo● Maneja tus dependencias
o Soporta repositorios de Ivy, Maven● Es eficiente: Directed Acyclic Graph
o Las tareas son ejecutadas solo si es necesario
● Control Totalo O eso dicen
Gradle
Creando el proyecto
Spring Boot
● Crea aplicaciones completas con Spring de forma dogmática… o tercamente.
● Usa configuración automática… o convención sobre configuración.
● Sin generación de código y/o XML
Para usarlo...Edita el archivo build.gradle:
1. Aplica el plugin2. Agrega el proyecto
starter de lo que necesitas
3. Especifica tu clase principal
4. Especifica la locación del plugin de gradle
Nota: No necesitas especificar la versión de las dependencias, el plugin de spring boot para gradle lo hace por ti.
1
2
3
4
¿La clase principal?
(1) Corres la aplicacion con una clase de configuración principal; (2) escaneando los componentes desde el paquete en el que se encuentra hacia abajo en la jerarquía y (3) permitiendo que se ejecuten las configuraciones automáticas de las dependencias “starter” que definiste.
1
2
3
Los starter POMs proveen dependencias que son probablemente necesarias cuando desarrollas un tipo especifico de aplicacion
Spring Boot Starter POMs
¿Que hacen?
¿Como lo uso?compile ‘org.springframework.boot:spring-boot-starter-web’
¿Que es lo que importa por ti?● Spring MVC● Tomcat 7 (puedes cambiar a Jetty)● Jackson (soporte para JSON)
Spring Boot Web Starter
Desde un directorio en el classpath. Se puede llamar
● /static● /public● /resources● /META-INF/resources o ● Desde la raíz del ServletContext
¿Y cómo es que sirvo contenido estático, uso controladores?
Spring Boot Thymeleaf Starter
¿Como lo uso?compile "org.springframework.boot:spring-boot-starter-thymeleaf"
¿Que es lo que importa por ti?● Thymeleaf para Spring 4● Thymeleaf Layout
¿Y cómo creo templates y vistas?
Los creas en el directorio src/main/resources/templates
Spring Boot Data JPA/REST Starter
¿Como lo uso?// Data RESTcompile "org.springframework.boot:spring-boot-starter-data-rest"// Data JPAcompile "org.springframework.boot:spring-boot-starter-data-jpa"
¿Que es lo que importa por ti?● Spring HATEOAS● Spring Data REST WebMVC● Hibernate Entity Manager● Spring ORM● Spring JDBC
¿Y cómo empiezo?
Habilitas la auto-configuración:
Creas tus clases modelo y entonces...
Creas tus interfaces para repositorios
OK, pero entonces ¿Como ejecuto la aplicacion?
Y ahora solo usas tu explorador
Finalmente...
Twitter: @eldermael ← Aqui public micro rantsGithub: ElderMael ← Aqui subo cosas
El código fuente se encuentra en:https://github.com/ElderMael/spring-boot-talk
Nota final: Google Docs es horrible para crear presentaciones D: