El siguiente es el método de implementación específico
1.
¡Se puede ver en el método en la clase de carga de BeanDefinitionLoader! Puedes ver dos formas
Esto se carga usando anotaciones de patrón, @springBootApplication - "@ springBootConfigertion -" @component
Esta es la segunda forma, usando class o xml
2.
Como puede ver arriba, cuando existen servlet, webmvc y webreactive al mismo tiempo, la prioridad es el servlet de grande a pequeño - "webmvc -> webreactive
Por supuesto, puedes forzar el tipo
3.
4.
Utilice el mecanismo de carga de la fábrica Spring para crear una instancia de las clases de implementación de la interfaz ApplicationContextInitializer, y las clases de implementación cargadas se configuran en
En el archivo MATE-INF / spring.factories, el método getSpringFactoriesInstances (Class <T> type, Class <?> [] ParameterTypes, Object ... args) es responsable de cargar la clase de configuración y devolverla después de la instanciación y clasificación, seguido por el oyente , Exception Collector, Runner, etc.también instancian las clases de implementación correspondientes a través de esta clase.
5.
Para obtener más información, consulte