Archivo Mensual: marzo 2018


Java 10
Introducción Como probablemente ya sabrás, Java 10 se liberó el pasado 20 de marzo siguiendo el nuevo programa para liberar versiones cada 6 meses. Esta versión viene tras el lanzamiento de Java 9 el pasado septiembre de 2017 y deja esta última version obsoleta. Java 11 se liberará como una versión de soporte prolongado (LTS) y tendrá un periodo de vida mucho más amplio, pero hasta entonces, veamos cuáles son algunas de las nueva funcionalidades en Java 10. Versionado de lanzamientos basado en tiempo Java 10 introduce el nuevo versionado basado en tiempo (JEP 322) que es una reestructuración de JEP 223 liberado en Java […]

Java 10: Probando las nuevas funcionalidades


Java 8 Streams
Introducción En esta publicación veremos como emplear los streams introducidos en Java 8 para obtener un Map a partir de un List. Los mapas son estructuras de datos compuestas por una colección de elementos clave-valor de forma que una clave sólo puede existir de forma única dentro de la colección. Esto nos permite realizar búsquedas de elementos de forma muy rápida a partir de su clave sin necesidad de recorrer la colección completa. Es muy común que al enfrentarnos con algún problema partamos de una lista de elementos y queramos obtener un mapa de forma que podamos optimizar el algoritmo […]

Java 8 Streams: Convertir List en Map


Spring-Data + MongoDB
Introducción Spring Data facilita mucho el proceso de trabajo con entidades de datos y ofrece una implementación específica para MongoDB. Se pueden definir consultas simplemente creando interfaces con métodos que siguen una convención de nombres o anotándolos con @Query y Spring automágicamente generará una implementación por nosotros. En la mayoría de ocasiones esto nos bastará para operaciones CRUD o de consultas sencillas y no será necesario definir métodos adicionales. Esto nos permitirá finalizar el desarrollo de la aplicación o de la funcionalidad de acceso a datos de forma muy rápida sin tener que escribir código repetitivo. Sin embargo, en muchas ocasiones […]

Spring Data MongoDB: Implementación de un repositorio a medida



Introducción Tras la ejecución de alguna herramienta de análisis estático de código o analizando el código desde algún IDE, es posible muy probable haberse topado con un mensaje en relación a los campos @Autowired: Field injection is not recommended Esta publicación muestra los distintos tipos de inyección disponibles en Spring y cuáles son los patrones de uso recomendados para cada uno de ellos. Tipos de Inyección A pesar de que la documentación actual de  Spring Framework (5.0.3) únicamente define dos tipos de inyección, en realidad hay tres: Inyección de dependencias basada en el constructor (Constructor-based) Inyección de dependencias basada en […]

Inyección de campos desaconsejada “Field injection is not recommended” – ...