Integración de conocimientos de Springboot
En mi opinión, la mayor ventaja de springboot es que simplifica la configuración. En el pasado, los proyectos SpringMvc necesitaban configurar varias cosas en xml, pero ahora simplifica mucho la configuración y mejora la eficiencia del desarrollo.
En términos generales, mi clase de arranque tendrá la anotación @SpringBootApplication. Anotación @SpringBootApplication, que es una combinación de anotaciones
Lo importante aquí es @EnableAutoConfiguration
@Import lo proporciona Spring y se inyectará en la clase después de AutoConfigurationImportSelector
La llamada al método es selectImports->getAutoConfigurationEntry->getCandidateConfigurations
La búsqueda interna obtendrá los tipos requeridos del archivo META-INF/spring.factories.
El método para obtener la clase llamará a AbstractApplicationContext.refresh() cuando se inicie Springboot.
Tomando Tomcat como ejemplo, podemos ver el proceso de carga de inicio de Springboot.
Generalmente ejecutamos el método principal SpringApplication.run
Primero, veamos el método de construcción de SpringApplication
A continuación, veremos principalmente el método de ejecución de springboot. método de ejecución de springboot
Veremos el método de actualizaciónContext, que llama al método de actualización de la clase principal AbstractApplicationContext, que llama al método onRefresh de la subclase, que es un patrón de método de plantilla. A continuación, el método createWebServer crea el contenedor web. TnVL1chwTqlXmlOdcuJCSg
/s/y6pUTKRCucoeCGmgqwRDow