Antes de empezar

1

Pasos para aprender Java Spring

2

驴Java sigue siendo gratuito?

3

Instalaci贸n de ambiente de desarrollo: Linux Ubuntu

4

Instalaci贸n de ambiente de desarrollo: macOS

5

Instalaci贸n de ambiente de desarrollo: Windows

Introducci贸n a Spring boot

6

驴Qu茅 es y qu茅 usaremos de Spring?

7

Conocer qu茅 es una aplicaci贸n autocontenida

8

Crear nuestra aplicaci贸n con Spring Initializr

9

Hola mundo con Spring Boot

10

Configurar Spring Boot

11

Crear la estructura del proyecto

Spring Data

12

驴Qu茅 es JPA?

13

Conocer qu茅 es Spring Data

14

Conectar la base de datos a nuestra aplicaci贸n

15

Mapear las tablas como clases

16

Crear Entity cuando su clave primaria es compuesta

17

Mapear relaciones entre clases

18

Usar la interface CrudRepository

19

Query Methods

Construyendo nuestra API

20

Implementar la anotaci贸n @Repository

21

驴Qu茅 es el patr贸n Data Mapper y qu茅 resuelve?

22

Orientar nuestra API al dominio con MapStruct

23

Orientar nuestro repositorio a t茅rminos del dominio

24

Inyecci贸n de dependencias

25

Implementar la anotaci贸n @Service

26

Implementar la anotaci贸n @RestController

27

Exponer nuestra API

Mejorando nuestra API

28

Controlar las respuestas HTTP

29

Crear el dominio de compras

30

Mapear el dominio de compras

31

Crear el repositorio de compras

32

Probando nuestros servicios de compras

33

Documentar nuestra API con Swagger

Spring Security

34

Configurar la seguridad de nuestra API con Spring Security

35

Generar un JWT

36

Autenticaci贸n con JWT

37

Autorizaci贸n con JWT

Despliegue de nuestra aplicaci贸n

38

Desplegar nuestra API desde la ventana de comandos

39

Desplegar nuestra base de datos con Heroku

40

Desplegar nuestra API con Heroku

41

Conclusiones y despedida del curso

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Curso de Java Spring

Curso de Java Spring

Alejandro Ram铆rez

Alejandro Ram铆rez

Usar la interface CrudRepository

18/41
Recursos

Aportes 25

Preguntas 8

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Me est谩 pareciendo de los mejores cursos de c贸digo que he visto en Platzi, espero que siga as铆 de claro y entretenido!

Para poder ver como spring transforma los m茅todos a consultas podemos agregar en nuestro application.properties
spring.jpa.show-sql=true
y en la consola veremos como realiza la consulta
les dejo m谩s informaci贸n aqu铆

Tres tipos de repositorios:

  • CrudRepository: realizar el crue
  • PagingAndSortingRepository: incluye lo de Crud repository ademas de paginaci贸n y ordenamiento.
  • JPARepository: Ademas de tener CrudRepository y PagingAndSortingRepository nos permite tareas espec铆ficas como Flush.

Hasta el momento, me parece unos de los mejores cursos estructurados y explicados de toda la plataforma, excelente

Como un dato extra, los

<>

No se les llaman 鈥淥peradores Diamante鈥, su nombre Oficial es Gen茅ricos, y es todo un tema aprenderlos.

PD: Les paso el dato por si se encuentran a un purista de Java (como yo) no les diga nada. 馃槢

De los pocos cursos de Platzi que verdaderamente son joyas

Excelente! hasta el momento, este curso me ha encantado esta muy bien estructurado

Hello guys, I couldn鈥檛 resist to apply a Unit Test to try our ProductCrudRepository. Have a look the code below :

@Slf4j
@ExtendWith(SpringExtension.class)
@SpringBootTest
class ProductCrudRepositoryTest {

    @Autowired
    ProductCrudRepository productCrudRepository;

    @Test
    void shoud_return_a_product_list_from_repository(){
        List<Product> products = (List<Product>) productCrudRepository.findAll();
        int productsNum = products.size();
        log.info("Actually we own " + productsNum + " products.");
        assertTrue(productsNum > 0);
    }


}

Also I鈥檓 gonna share my repository Spring project until now or a little bit more advanced.
https://github.com/borisbikes/platzi/tree/main/Spring/platzi-market/src/test/java/com/platzi/market
Cheers!

Por si les interesa les comparto el link los metodos implementados para la interface CrudRepository<T, ID>

https://docs.spring.io/spring-data/commons/docs/current/api/org/springframework/data/repository/CrudRepository.html

Dos preguntas:

  1. 驴Qu茅 hay de la anotaci贸n @Repository para la interfaz ProductoCrudRepository?
  2. ProductoRepository no deber铆a ser llamada ProductoService, debido a que es la clase que expondr谩 la comunicaci贸n con la capa de persistencia?

驴El CrudRepository es como el DAO?

Curso bueno y este ala鈥 excelente omeee.

jajajaja vengo de la seccion 23 y ya se me quitaron las ganas de seguir con el curso jajaja

De los mejores cursos de Platzi鈥 de verdad鈥 porque no hay mas de este muchacho

Que buen curso, buen profesor, estuve haciendo el otro de spring boot y me decepcione, este curso si esta bien hecho, bien explicado, ejemplos reales y se llega a cierta profundidad de spring

Simplemente, incre铆ble.

A mi solo me quedo duda de por que no utilizo la interfaz JPARepository si esta implementa a las otras dos, as铆 aprovechariamos todas sus funcionalidades. O si es m谩s bien decisi贸n de uno cual utilizar.

El cast del min : no me sale, me salen solo las dos opciones de abajo, los dos Make.Tendra algun problema si uitlizo ese Make: lo que hace es que del tipo que estoy devolviendo lo cambia por Iterable.

Tengo una duda,驴por qu茅 tenemos que crear una clase ProductRepository si podemos usar directamente la interfaz CrudRepository?

驴es para no depender de la implementaci贸n de spring?

Repositorios de Spring Data
CrudRepository: Permite hacer las operaciones de CRUD.
PagingAndSortingRepository: Nos permite hacer todo lo que hace el CrudRepository pero adicionalmente nos permite hacer tareas de ordenaci贸n y paginamiento de nuestro repositorio.
JPARepository: Nos permite hacer lo mismo que los dos anteriores, pero adem谩s nos permite hacer tareas de JPA espec铆ficas como Flush que combina o guarda todo en memoria sin que otras entidades o entornos vean esos cambios en la base de datos.

Cu谩l ser铆a el patr贸n de dise帽o de esta aplicaci贸n?

Dios mio que buen paso lleva, asi deberian de ser todas las clases.

muy buen contenido 馃槃

Quedo un poco perdido con la interface ProductoCrudRepository, pero creo que sin esa interface pasar铆a que en la clase ProductoRepository ser铆a imposible traer los datos de la BD verdad?

Cre que hay la llevamos, esperemos que en la siguiente vea la funcionalidad de lo creado 馃槂