Acabamos de ver como usar Java equals y hashcode
¿ Spring 5 ? . Muchas personas que trabajan con Spring me preguntan habitualmente sobre Spring 5 comentandome que se parece mucho a Spring 4 y que en realidad todo es muy similar . La r espuesta quizás no es tan directaa. Spring ha evolucionado mucho desde sus primeras versiones y hoy por hoy nos encontramos con una situación en la que como motor de inyección de dependencia se apoya mucho en anotaciones como @Component , @Repository etc. Sigue siendo Spring 5 muy similar a Spring 4 la realidad es que no . Spring 5 aporta un salto importante en cuando a Arquitectura ya que incorpora Spring WebFlux el framework de programaci´ón Reactiva . Vamos a explicarlo a detalle. Cuando nosotros trabajamos con Spring y disponemos de Servicios y repositorios nos encontramos con una situación de este estilo:
Este código invoca desde un Servicio a dos Repositorios y a un Servicio adicional. Todo es correcto . Ahora la pregunta importante es: ¿Cuantos hilos o Threads ejecutan este código?. Uhhh esta es una buena pregunta ya que por defecto simplemente se usará un hilo de ejecución.
Por lo tanto si nosotros tenemos que cada una de las tareas de de los Servicios y Repositorios que invocamos tarda 3segundos nos encontraremos que el Servicio principal tarda 9 segundos en ejecutarlo todo. Es bastante tiempo pero en muchas ocasiones simplemente no queda otro remedio . Sin embargo cada día tenemos Servicios y Repositorios que conectan a diferentes sistemas y que permiten enfoques no bloqueantes . Es decir enfoques en los cuales cuando un Servivio llama a otros este puede seguir ejecutando el resto de invocaciones sin bloquearse ya que usan otros hilos de ejecución en paralelo.
Otras tecnologías
Esta es la verdadera importancia de la nueva versión de Spring y que le paraleliza a Node.js permitiendo filosofías similares en entornos Java modernos.