SlideShare una empresa de Scribd logo
1 de 14
REST API con
spring boot en 40’
TEMAS
● Spring
● ¿Qué es spring boot?
● H2
● Spring data
● Spring MVC
SPRING
● Permite un mecanismo de inyección de dependencias
● @Autowired
● @Bean - @Component - @Service formas de indicar los
elementos que voy a inyectar
@Autowired
● Se puede usar a nivel atributo y a nivel constructor
● Indica que se van a inyectar los elementos a los cuales está
decorando la annotation
● Cuando se quiere un elemento en específico se debe usar
@Qualifier
● Se puede usar en collections
@Bean
● No queremos indicar que nuestra clase es un componente, pero
queremos inyectar esta en algún momento.
● Por lo general son implementaciones de ciertas interfaces que
spring declara, pero no implementa por la particularidad de cada
negocio.
● Tiene que estar dentro de un @Configuration.
● Chau XML de configuración.
@Component
● Declara que la clase con la que se anota será un componente de
spring
● Puede contener atributos autowireados.
● Es el padre de otras annotations como @Controller
@RestController y @Service
● Se usa por lo general para helpers, builder y demás clases que no
serán ni servicios, ni controladores
@Service
● Indicamos que dicha clase será un service.
● No importa si este service consumirá REST, SOAP o desde la BD.
● Es una especificación que hereda de @Component.
Spring boot
● Crea aplicaciones de spring stand alone
● Embebe tomcat
● Configura spring siempre que sea posible
● Provee un pom que contiene las versiones funcionan
correctamente.
● No necesitamos configurar más mediante xml, aunque si
podemos hacerlo.
H2
● H2 es una base de datos SQL en memoria.
● Cada vez que inicia la aplicación se reinicia la base de datos.
● Recomendada para cuando se está comenzando el desarrollo de
la aplicación.
● Ideal para cuando no se necesita un gran set de datos
precargados.
JPA
● @Entity se utiliza para señalar que esta clase será una entidad a persistir en la base de
datos.
● @Id Indica que dicho atributo es el id
● @GeneratedValue indica que sobre ese atributo se generará un valor (Usarlo en ids)
● @OneToMany Indica que por una instancia de esa clase habrá muchas de otra
● @ManyToOne Indica que por muchas instancias de esa clase habrá de la otra clase una
sola que se relacione con estas
Spring data
● @Repository indica que en esa interfaz están los métodos que interactúan con la base de
datos
● Utiliza Hibernate (un ORM) en su core.
● Genera las queries dinámicamente mediante el nombre de los métodos de la interfaz
● @NoRepositoryBean nos genera una interfaz que contendrá métodos a ser utilizados por
una interfaz que sea un @Repository
Spring MVC
● Crea servlet apis con spring desde el comienzo.
● Con @Controller crea controladores que atenderán los request solicitados.
● @RestController crea un controlador enfocado en respuestas rest y por default, acepta el
Content-Type Application/json.
● @RequestMapping indica donde estará el recurso.
Demo
● Crear el modelo
● Crear la capa de dao
● Crear la capa de servicios
● Crear los controllers
● Rezar que funcione
¿Preguntas?

Más contenido relacionado

Similar a Rest api con spring boot en 40’

Similar a Rest api con spring boot en 40’ (20)

Java
JavaJava
Java
 
Hora 12
Hora 12Hora 12
Hora 12
 
Un vistazo a java 8
Un vistazo a java 8Un vistazo a java 8
Un vistazo a java 8
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Dia2
Dia2Dia2
Dia2
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
 
Fondo1 (2)
Fondo1 (2)Fondo1 (2)
Fondo1 (2)
 
S4-PD1.pptx
S4-PD1.pptxS4-PD1.pptx
S4-PD1.pptx
 
Como usar el Angular CLI
Como usar el Angular CLIComo usar el Angular CLI
Como usar el Angular CLI
 
Hands-on Spring 3: The next generation
Hands-on Spring 3: The next generationHands-on Spring 3: The next generation
Hands-on Spring 3: The next generation
 
Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2Mis primeros pasos con Symfony 2
Mis primeros pasos con Symfony 2
 
LenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxLenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptx
 
Spring boot et. al. para el impaciente
Spring boot et. al. para el impacienteSpring boot et. al. para el impaciente
Spring boot et. al. para el impaciente
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Scripting Integration en Java 6 - Daniel E. Jaramillo
Scripting Integration en Java 6 - Daniel E. JaramilloScripting Integration en Java 6 - Daniel E. Jaramillo
Scripting Integration en Java 6 - Daniel E. Jaramillo
 
GWT - Una introducción
GWT - Una introducciónGWT - Una introducción
GWT - Una introducción
 
S1 ds2
S1 ds2S1 ds2
S1 ds2
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
S1-DS2.pptx
S1-DS2.pptxS1-DS2.pptx
S1-DS2.pptx
 

Rest api con spring boot en 40’

  • 1. REST API con spring boot en 40’
  • 2. TEMAS ● Spring ● ¿Qué es spring boot? ● H2 ● Spring data ● Spring MVC
  • 3. SPRING ● Permite un mecanismo de inyección de dependencias ● @Autowired ● @Bean - @Component - @Service formas de indicar los elementos que voy a inyectar
  • 4. @Autowired ● Se puede usar a nivel atributo y a nivel constructor ● Indica que se van a inyectar los elementos a los cuales está decorando la annotation ● Cuando se quiere un elemento en específico se debe usar @Qualifier ● Se puede usar en collections
  • 5. @Bean ● No queremos indicar que nuestra clase es un componente, pero queremos inyectar esta en algún momento. ● Por lo general son implementaciones de ciertas interfaces que spring declara, pero no implementa por la particularidad de cada negocio. ● Tiene que estar dentro de un @Configuration. ● Chau XML de configuración.
  • 6. @Component ● Declara que la clase con la que se anota será un componente de spring ● Puede contener atributos autowireados. ● Es el padre de otras annotations como @Controller @RestController y @Service ● Se usa por lo general para helpers, builder y demás clases que no serán ni servicios, ni controladores
  • 7. @Service ● Indicamos que dicha clase será un service. ● No importa si este service consumirá REST, SOAP o desde la BD. ● Es una especificación que hereda de @Component.
  • 8. Spring boot ● Crea aplicaciones de spring stand alone ● Embebe tomcat ● Configura spring siempre que sea posible ● Provee un pom que contiene las versiones funcionan correctamente. ● No necesitamos configurar más mediante xml, aunque si podemos hacerlo.
  • 9. H2 ● H2 es una base de datos SQL en memoria. ● Cada vez que inicia la aplicación se reinicia la base de datos. ● Recomendada para cuando se está comenzando el desarrollo de la aplicación. ● Ideal para cuando no se necesita un gran set de datos precargados.
  • 10. JPA ● @Entity se utiliza para señalar que esta clase será una entidad a persistir en la base de datos. ● @Id Indica que dicho atributo es el id ● @GeneratedValue indica que sobre ese atributo se generará un valor (Usarlo en ids) ● @OneToMany Indica que por una instancia de esa clase habrá muchas de otra ● @ManyToOne Indica que por muchas instancias de esa clase habrá de la otra clase una sola que se relacione con estas
  • 11. Spring data ● @Repository indica que en esa interfaz están los métodos que interactúan con la base de datos ● Utiliza Hibernate (un ORM) en su core. ● Genera las queries dinámicamente mediante el nombre de los métodos de la interfaz ● @NoRepositoryBean nos genera una interfaz que contendrá métodos a ser utilizados por una interfaz que sea un @Repository
  • 12. Spring MVC ● Crea servlet apis con spring desde el comienzo. ● Con @Controller crea controladores que atenderán los request solicitados. ● @RestController crea un controlador enfocado en respuestas rest y por default, acepta el Content-Type Application/json. ● @RequestMapping indica donde estará el recurso.
  • 13. Demo ● Crear el modelo ● Crear la capa de dao ● Crear la capa de servicios ● Crear los controllers ● Rezar que funcione