¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

¡Acceso SAP S/4HANA desde $100!

Acceso a SAP

Descobrindo a varredura automática de componentes no Spring Framework

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 25 Vistas
0
Cargando...
No arquivo de configuração xml do Spring, podemos definir um pacote para a tag component-scan, que indica ao framework do Spring buscar todas as classes dentro desse pacote especificado, procurando por classes anotadas com @Named ou @Component.


Estou muito intrigado sobre como o framework Spring realiza essa varredura, então fiz algumas depurações para descobrir.


Neste blog Como encontrar a localização exata onde o arquivo de configuração de beans é analisado no framework Spring Já encontrei a localização onde o arquivo de configuração xml é analisado pelo framework Spring, então posso definir um ponto de interrupção diretamente no código fonte encontrado.


Aqui o pacote a ser varrido é analisado a partir do arquivo xml:



E a varredura real é feita na linha 87:



Aqui todas as classes dentro do pacote especificado e seus subpacotes são extraídos como recursos, agora tenho 7 recursos como candidatos para a varredura, o que faz sentido pois tenho um total de 7 classes no pacote:




A avaliação para verificar se a classe possui uma anotação qualificada é feita neste método:



Se a classe varrida tiver pelo menos uma anotação (a anotação escrita na classe é armazenada em metsadataReader) que está em this.includeFilters, então é considerada como candidata.



Ao inspecionar o conteúdo de this.includeFilters, podemos saber que o framework Spring considera @Component e @Named como anotações qualificadas para a lógica de varredura automática de componentes.




Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

Sin respuestas

No hay respuestas para mostrar No hay respuestas para mostrar Se el primero en responder

contacto@primeconsultor.com

+1 (305) 285-8622

© 2025 Todos los derechos reservados.

Desarrollado por Prime Consultor

¡Hola! Soy Diana, asesora académica de Prime Consultor, indícame en que Academia SAP estás interesado, saludos!
Hola ¿Buscas Academias SAP?