13 de marzo de 2020

Cambiar el paquete base para escanear

En la entrada anterior hemos visto que por prelación de Spring se descartan o sobrescriben definiciones de beans menos prioritarias. En esta entrada vamos a cambiar el paquete base para escanear componentes Spring y veremos que ya no se duplica la definición del bean Test.

Modificamos nuestro fichero config-scan.xml para establecer el paquete base desde es.lanyu a es.lanyu.datosdeportivosapi. Se pueden establecer también más de un paquete base. Es una buena práctica escanear sólo los paquetes con las definiciones que queremos incluir en nuestro contenedor: evitamos un trabajo innecesario y no se nos colará una definición descontrolada. Establecer un paquete "raíz" como paquete base para que Spring escanee todo nuestro código es señal de programador perezoso.

Nuestra línea modificada quedaría así:
<context:component-scan base-package="es.lanyu.datosdeportivosapi"/>
Si ejecutamos el código ahora vemos que ya no se detectan 7 beans en este fichero de configuración, sólo se detectan 6 porque el paquete al que pertenece Test está fuera de nuestro paquete base.

Puedes encontrar el código en este punto en su repositorio y ver el video del webinar en este momento.


En la siguiente entrada añadiremos otro bean en el paquete que se está escaneando actualmente y tendremos un conflicto: dos beans cumplirán la dependencia de tipo es.lanyu.Test)

No hay comentarios:

Publicar un comentario

Compárteme

Entradas populares