Red de conocimiento informático - Problemas con los teléfonos móviles - Principios del montaje automático de botas de resorte

Principios del montaje automático de botas de resorte

Primero, abra un proyecto Springboot básico y haga clic en la anotación @SpringBootApplication.

El nombre que se puede utilizar para implementar el ensamblaje automático debe estar encima de la anotación @EnableAutoConfiguration. Continúe haciendo clic en

En este momento, los estudiantes que estén familiarizados con las anotaciones de Spring deberían poder hacerlo. Siento que el principio de implementación está en la anotación @Import (AutoConfigurationImportSelector.class), el parámetro de la anotación @Import puede ser una clase estática (utilizada para importación directa) o una clase que implementa la interfaz ImportSelector Cuando se implementa, ImportSelector. se implementará en función del método selectImports. Echemos un vistazo a la implementación de AutoConfigurationImportSelector

El método loadmetadata en la figura carga la información de datos de configuración básica del proyecto, mientras que el método getAutoConfigurationEntry es la lógica del ensamblaje automático, continúe haciendo clic

Aún cargue la configuración y continúe haciendo clic

De hecho, en este paso está básicamente claro que todas estas cosas son clases de carga, entonces, ¿qué clases se deben cargar para el ensamblaje automático? Aquí está el nombre de la fábrica. pasado desde el exterior es Enableautoconfiguration. Clase

Haga clic en la lógica de carga para ver que la clase en la ruta FACTORIES_RESOURCE_LOCATION está cargada.

Escaneará automáticamente todos los proyectos para encontrar clases en la ruta FACTORIES_RESOURCE_LOCATION. Entonces, ¿cuál es esta ruta?

Resumen: Aquí está básicamente claro que el ensamblaje automático de springboot se realiza a través de una implementación personalizada de la interfaz ImportSelector, de modo que todos los proyectos se inyectan automáticamente en la ruta META-INF/spring.factories del contenedor Spring. cuando se inicia el proyecto en la clase de configuración siguiente, se logra el ensamblaje automático.

Los lanzadores relacionados y los lanzadores personalizados se basan en esta implementación. Si tengo tiempo, entraré en más detalles sobre cómo implementar un iniciador personalizado.

Lo anterior es el principio del ensamblaje automático de Springboot. Si aún no entiendes nada, sígueme y envíame un mensaje privado. Estaré encantado de responderte.