En este capítulo construiremos el proyecto de ejemplo del curso. Dado que nos centraremos en Spring Data JPA, no debe requerir grandes conocimientos de Spring Framework y JPA. Cuanto más simple, mejor.
Seguir leyendoSpring Framework: asynchronous methods with @Async, Future and TaskExecutor
Spring Framework supports asynchronous execution of public methods of beans. They will be executed on their own thread without blocking the execution of the code that calls them. If you leverage this feature where appropriate, you will effortlessly boost the performance of your code. That’s the power of the @Async annotation that we will examine in this post. Make the most of it! 🚀
READ MORECurso Spring Data JPA. 1: introducción
¡Bienvenid@ a mi curso! Si no conoces Spring Data, tendrás preguntas del estilo: ¿qué problema soluciona? ¿qué es capaz de hacer? En esta introducción encontrarás las respuestas, así como una primera demostración de sus prodigios.
Seguir leyendoSpring BOOT and JSP integration
Jakarta Server Pages (JSP), previously known as Java Server Pages, is the dynamic web page standard technology proposed by Java. Today it can be considered a relic of the past, as we have had template engines, such as Thymeleaf, that offer better capabilities for years. Moreover, the current trend is to create JavaScript clients with frameworks like Angular or React, which interact with REST APIs.
READ MORESpring Framework: event handling
Event-driven systems allow multiple components to communicate with each other by sharing any information and, most importantly, without being directly related. The general idea is that certain components generate events or messages and others receive and process them, either synchronously or asynchronously.
READ MORETesting Spring Boot: Docker con Testcontainers y JUnit 5
Las pruebas de integración y end-to-end suelen plantear diversas dificultades y retos. Una de las cuestiones más habituales que tendremos que responder es qué hacer con la base de datos en la que se apoya el sistema a testear. Y, por extensión, con todos los sitemas externos que nuestra aplicación utiliza.
Seguir leyendoSpring BOOT: integración con JSP
Jakarta Server Pages (JSP), antes conocida como Java Server Pages, es la tecnología de generación dinámica de páginas web que Java propone como estándar o especificación. A día de hoy se puede considerar un vestigio del pasado, pues hace años que contamos con motores de plantillas tales como Thymeleaf que ofrecen mejores capacidades. Además, la tendencia actual es la creación de clientes JavaScript, con Angular, React y similares, que interactúan con APIs REST.
Seguir leyendoTips Spring : [BOOT] propiedades de configuración personalizadas. La anotación @ConfigurationProperties.
Los parámetros de configuración de Spring Boot y las librerías compatibles se definen en el fichero /src/main/resources/application.properties (o application.yml para los que prefieran el formato YAML). Los disponibles se detallan en esta página.
Seguir leyendoCurso Jakarta EE 9 (39). JPA con Hibernate (22): Procedimientos almacenados SQL

Los procedimientos almacenados (stored procedures) suelen ser ignorados por los programadores no especialistas en bases de datos. Pero son una herramienta con un ámbito de aplicación más que interesante y que podemos usar fácilmente con JPA sin tener que recurrir a la API JDBC. Por ello, los vemos en este pequeño capítulo que complementa el estudio del empleo de SQL con JPA e Hibernate.
Seguir leyendoCurso Jakarta EE 9 (38). JPA con Hibernate (21): trabajando con SQL

Idealmente, las consultas en JPA se escriben con JPQL \ Criteria API utilizando el modelo de entidades para que sean agnósticas con respecto a la base de datos. No obstante, contamos con un magnífico soporte para la ejecución de consultas SQL, denominadas «nativas» en la especificación. ¿Por qué querríamos recurrir a él? Ya apunté algunos motivos en la introducción a los capítulos dedicados a JPA.
Seguir leyendoCurso Jakarta EE 9 (37). JPA con Hibernate (20): Criteria API (2). Funciones y WHERE. Modificaciones.

Completamos el estudio de los fundamentos de Criteria API con la descripción de las funciones y del bloque WHERE, incluyendo los operadores existentes y la posibilidad de efectuar subconsultas. También habrá una pequeña sección dedicada a las actualizaciones y eliminaciones.
Seguir leyendoCurso Jakarta EE 9 (36). JPA con Hibernate (19): Criteria API (1). Consultas básicas.

Las consultas JPQL son simples cadenas de texto fáciles de escribir y comprender debido a sus similitudes con el lenguaje SQL. La alternativa dentro de Jakarta Persistence para explotar los datos con el modelo de entidades es la API Criteria. Permite construir consultas de forma programática, esto es, en código Java, y con un tipado absoluto tanto de los parámetros como de los resultados. Lo hace ofreciendo métodos que equivalen a las cláusulas, operadores y funciones de JPQL.
Seguir leyendo