Me está pareciendo de los mejores cursos de código que he visto en Platzi, espero que siga así de claro y entretenido!
Antes de empezar
Pasos para aprender Java Spring
¿Java sigue siendo gratuito?
Instalación de ambiente de desarrollo: Linux Ubuntu
Instalación de ambiente de desarrollo: macOS
Instalación de ambiente de desarrollo: Windows
Introducción a Spring boot
¿Qué es y qué usaremos de Spring?
Conocer qué es una aplicación autocontenida
Crear nuestra aplicación con Spring Initializr
Hola mundo con Spring Boot
Configurar Spring Boot
Crear la estructura del proyecto
Spring Data
¿Qué es JPA?
Conocer qué es Spring Data
Conectar la base de datos a nuestra aplicación
Mapear las tablas como clases
Crear Entity cuando su clave primaria es compuesta
Mapear relaciones entre clases
Usar la interface CrudRepository
Query Methods
Construyendo nuestra API
Implementar la anotación @Repository
¿Qué es el patrón Data Mapper y qué resuelve?
Orientar nuestra API al dominio con MapStruct
Orientar nuestro repositorio a términos del dominio
Inyección de dependencias
Implementar la anotación @Service
Implementar la anotación @RestController
Exponer nuestra API
Mejorando nuestra API
Controlar las respuestas HTTP
Crear el dominio de compras
Mapear el dominio de compras
Crear el repositorio de compras
Probando nuestros servicios de compras
Documentar nuestra API con Swagger
Spring Security
Configurar la seguridad de nuestra API con Spring Security
Generar un JWT
Autenticación con JWT
Autorización con JWT
Despliegue de nuestra aplicación
Desplegar nuestra API desde la ventana de comandos
Desplegar nuestra base de datos con Heroku
Desplegar nuestra API con Heroku
Conclusiones y despedida del curso
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Aportes 25
Preguntas 8
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:
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 “Operadores 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’t 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’m 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>
Dos preguntas:
@Repository
para la interfaz ProductoCrudRepository
?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 😃
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.