Newsletter Java: Novedades de la Semana 5 - Octubre 2025
Tu newsletter semanal de Programando En Java
¡Bienvenidos a una nueva edición de nuestra newsletter semanal!
Esta semana el ecosistema Spring ha entrado en modo turbo, soltando una avalancha de Release Candidates en casi todos sus proyectos clave. Si estás pensando en migrar a Spring Boot 4, prepárate: llegó la hora de afilar el machete y limpiar dependencias.
Todo listo para que sigas subiendo de nivel en Java. ¡Vamos al lío! ☕💻
Redes Sociales
📘 Facebook: Programando en JAVA
🐦 X (Twitter): ProgEnJava
📸 Instagram: Programando en Java
💼 LinkedIn: Ricardo Romero Benítez
▶️ YouTube: Programando en Java
🎵 TikTok: Programando en Java
🧵 Threads: Programando en Java
💬 Discord: Comunidad de Programando en JAVA
🎥 Video de la Semana - Spring Boot VS Micronaut
En el video de esta semana te muestro una comparativa real entre Spring Boot y Micronaut, dos de los frameworks más potentes del ecosistema Java.
Analizo su rendimiento, tiempo de arranque, consumo de memoria, facilidad de desarrollo y el tipo de proyectos en los que cada uno brilla más.
Si alguna vez te has preguntado si vale la pena dar el salto de Spring Boot a Micronaut (o viceversa), este video te sacará de dudas 👇
👨💻 CodeCast 19 - Álvaro Sánchez-Mariscal Arnaiz
En este episodio de Codecast, me acompaña Álvaro Sánchez, ingeniero informático y referente del ecosistema Java, actualmente trabajando en Oracle. Una conversación que repasa su trayectoria desde sus inicios más humildes hasta su papel como comitter del framework Micronaut, pasando por momentos de fracaso, reinvención y crecimiento profesional.
Álvaro nos cuenta cómo empezó en la programación casi por accidente, después de dejar la música y descubrir Pascal en una academia local. Su paso por la universidad no fue un camino de rosas: una formación técnica exigente y una expulsión por agotamiento de convocatorias marcaron sus primeros años, pero también forjaron su carácter y su pasión por el aprendizaje autodidacta.
Con el tiempo, fundó su propia empresa, Salenda, que llegó a tener 40 empleados antes de la crisis económica. Desde ahí dio el salto al mundo open source, involucrándose en comunidades de desarrollo y contribuyendo a proyectos clave como Grails y Micronaut. Hoy, desde Oracle Labs, participa en el desarrollo de tecnologías que están redefiniendo el futuro del ecosistema Java.
Durante la charla, Álvaro reflexiona sobre el papel del aprendizaje práctico, la realidad del mercado laboral y la importancia de hacer proyectos personales para destacar en un sector cada vez más competitivo. Además, defiende el papel de Oracle como motor de innovación en el mundo Java, desmintiendo mitos y mostrando la cara más comprometida de la empresa con el open source.
También en Spotify:
📦 Novedades en Librerías y Frameworks
🔥 Spring Boot 4.0.0-RC1
Modularización completa del core: reduce el tamaño de los artefactos y mejora las señales para la auto-configuración.
Soporte oficial para
RestTestClientdel nuevo Spring Framework 7.Correcciones de bugs y mejoras en la documentación.
Ideal para empezar a testear tus apps contra Spring Framework 7.
🛡️ Spring Security 7.0.0-RC1
Nuevo soporte para multi-factor authentication global con
@EnableGlobalMultiFactorAuthentication.Introducción de
FactorGrantedAuthorityyDefaultAuthorizationManagerFactory.Incluye cambios breaking, ¡ojo si estás actualizando!
🚀 Nuevo Curso en Codeja: Spring Boot Core – Fundamentos, Contenedor IoC y Gestión de Beans
¿Usas Spring Boot todos los días pero aún te parece una “caja negra”?
Este nuevo curso te enseña a entender cómo funciona Spring desde dentro, dominando el Contenedor IoC, la Inyección de Dependencias (DI) y la gestión de Spring Beans.
🗓️ Lanzamiento el 12 de Noviembre, ¡visita el link y activa tu aviso! 🔔
Aprenderás paso a paso a:
✅ Comprender el ciclo de vida del Contenedor Spring
✅ Crear y configurar beans con JavaConfig y anotaciones
✅ Dominar la inyección por constructor, @Autowired, @Qualifier y @Primary
✅ Gestionar la configuración externa y Profiles por entorno
✅ Controlar los scopes, el ApplicationContext y los eventos internos de Spring
🧬 Spring for GraphQL 2.0.0-RC1
Nuevos interceptores de headers HTTP para
GraphQLContext.Extensiones Kotlin para
GraphQlClientyGraphQlTester.Mejora el manejo de headers y la integración con GraphQL Java.
🗂️ Spring Session 4.0.0-RC1
Modernización de la generación de documentación con Antora.
Nuevas exclusiones para el plugin
nohttpen Gradle.
🔄 Spring Integration 7.0.0-RC1
Nuevos channel adapters basados en Spring AMQP 4.
Soporte para expresiones dinámicas en
FileReadingMessageSource.Ideal para flujos de integración con lógica condicional.
🧱 Spring Modulith 2.0.0-RC1
Eliminación de
@ApplicationEventListener(deprecated).Soporte para migraciones Flyway al iniciar la app.
Refuerza la arquitectura modular en proyectos Spring.
📚 Spring REST Docs 4.0.0-RC1
Requiere JUnit 6 como mínimo.
Se elimina temporalmente soporte para REST-Assured (por incompatibilidad con Groovy 5).
🧵 Spring Batch 6.0.0-RC1
Apagado más controlado de jobs batch.
Soporte para SEDA (Staged Event Driven Architecture) usando Spring Integration.
🐇 Spring AMQP 4.0.0-RC1
Corrige problemas con
allowEagerInity carga perezosa deFactoryBean.Mejora la coherencia en inicialización de beans.
☕ Spring for Apache Kafka 4.0.0-RC1
Concurrency en
ShareKafkaMessageListenerContainer.DeadLetterPublishingRecovererahora aceptaKafkaOperations.
📡 Spring for Apache Pulsar 2.0.0-RC1
Mejora en manejo de
deadLetterTopical permitir nombres no cualificados.Facilita la integración en topologías Pulsar complejas.
🧼 Spring Web Services 5.0.0-RC1
Requiere JUnit 6 como mínimo.
En línea con las nuevas convenciones de pruebas Spring.
🏦 Spring Vault 4.0.0-RC1
Compatible con JDK 25, Spring Framework 7 y Jackson 3.
Soporte para
RestClienten autenticación yVaultTemplate.
🚀 ¡Acelera tu carrera Java con Codeja!
Si estás cansado de practicar sin rumbo, prueba CodeJa: una plataforma práctica creada para que de verdad subas de nivel.
🎯 Retos reales y semanales — orientados a problemas de producción.
🏆 Leaderboard global — compite y gana visibilidad.
😎 Retos semanales — compite por la mejor posición en los retos semanales
📚 Cursos prácticos de Java — Spring Boot y frameworks del ecosistema Java aprende desde lo básico hasta lo avanzado con proyectos guiados.
🔁 Historial de envíos — revisa, compara y vuelve a versiones anteriores de tu código.
💬 Mentorías 1:1 — arquitectura, revisión de CV o preparación de entrevistas.
☕ Actualizaciones del JDK
Nada nuevo en tierra de OpenJDK esta semana. Pero si estás jugando con los RCs de Spring, asegúrate de estar apuntando a JDK 21 o superior. Muchos de los nuevos módulos y mejoras ya se están alineando con ese baseline.
🧠 Revisa siempre la compatibilidad en OpenJDK.
🧪 Nuevas JEPs o Propuestas
📭 No se han publicado nuevas JEPs esta semana. Tiempo perfecto para revisar las que están en Candidate, especialmente las relacionadas con Value Objects (JEP 401) y Primitive Classes.
🛠️ Herramientas y Utilidades para Developers
🧪 Testcontainers 2.0.0 y 2.0.1
La nueva versión de Testcontainers introduce una reestructuración profunda del proyecto y moderniza su integración con el ecosistema Java actual. La 2.0.0 elimina el soporte para JUnit 4 y migra completamente a JUnit Jupiter, reorganiza los paquetes y artefactos Maven (ahora con prefijo testcontainers-), y actualiza los contenedores de bases de datos (como MySQL y MariaDB) con nuevas configuraciones por defecto. En la 2.0.1, el equipo corrige problemas de publicación y documentación, y añade compatibilidad con R2DBC para bases de datos como PostgreSQL, MySQL, MariaDB y MSSQL, reforzando su soporte para entornos reactivos.
📝 Cambios clave:
Eliminado soporte para JUnit 4 → ahora solo JUnit Jupiter.
Reorganización de paquetes y artefactos (
testcontainers-*).Ajustes en contenedores de bases de datos (MySQL, MariaDB).
Soporte para gRPC en
BigQueryEmulatorContainerNuevo método
getHttpUrl()paraClickHouseContainerNuevos contenedores R2DBC para bases de datos reactivas.
Correcciones de publicación y mejoras en documentación.
🔗 https://github.com/testcontainers/testcontainers-java/releases
📏 Micrometer Metrics 1.15.5 & Tracing 1.5.5
Perfecto combo si trabajas con observabilidad en Spring Boot:
@ObservedKeyValueTag= métricas más flexiblesTracing con OpenTelemetry 2.20.1
🌍 Comunidad y Ecosistema
ChurConf
🗓️ 2 de noviembre de 2025
📍 Auckland, Nueva Zelanda
Una conferencia comunitaria centrada en Java, organizada en Auckland con espíritu de “celebración del JVM”.
Web: churconf.com
W‑JAX 2025
🗓️ 3 – 7 de noviembre de 2025 (expo 4-6)
📍 Múnich (o modalidad online)
Una de las conferencias más completas de Europa para Java, arquitectura, microservicios y tecnologías de vanguardia.
Web: jax.de/munich
XtremeJ 2025 Online Conference
🗓️ 4 de noviembre de 2025
📍 Online
Conferencia virtual dedicada a Java, con charlas internacionales, sesiones interactivas y hackatones.
Web: xtremej.dev
J‑Fall 2025
🗓️ 6 de noviembre de 2025 (incluye pre-conferencia el 5)
📍 Ede, Países Bajos
La mayor conferencia Java de los Países Bajos, organizada por la NLJUG, con keynotes, talleres y competición “Masters of Java”.
Web: jfall.nl
Voxxed Days Thessaloniki 2025
🗓️ 7 – 8 de noviembre de 2025
📍 Tesalónica, Grecia
Conferencia en persona enfocada en desarrolladores, con sesiones sobre Java/JVM, cloud, arquitectura, herramientas modernas y cultura de desarrollo.
Web: voxxeddays.com/thessaloniki
💡 Tip de la semana
¿Usas @EventListener? Mejora el rendimiento con @TransactionalEventListener
Cuando lanzas eventos dentro de una transacción, es mejor usar @TransactionalEventListener para asegurarte de que el evento solo se ejecuta si la transacción se completa exitosamente:
@Component
public class OrderEventHandler {
@TransactionalEventListener(phase = TransactionPhase.AFTER_COMMIT)
public void handleOrderCreated(OrderCreatedEvent event) {
// Enviar correos, emitir eventos a Kafka, etc.
}
}Evita efectos secundarios si la transacción falla.
Perfecto para integraciones confiables con sistemas externos.
¿Te ha molado? Comparte esta newsletter con otro friki del backend 💻
¿Preguntas o sugerencias? Responde a este correo, y charlamos.







