摘要

 

主要是介绍的Springboot的底层原理。

SpringBoot——springboot自动配置原理_spring

web.xml配置Spring环境

<!-- Spring监听器-->
<1istener>
org.springframework.web. context.ContextLoaderListener</1istener-class>
</1istener>

web项目的入口在与的初始化容器。在初始化容器的过程中的会使用的加载web.xml文件。在web.xml文件中的配置的spring容器的启动。

DispatcherServlet如何注入给web的容器?

以前的时候是采用的是web.xml servelt在web.xml中的主要是做的是:1扫描 、2配置beans标签

主需要的在的一个类中的继承webApplicationInitialzer类。这里有一个的AppConfig的类。AppConfig就是的配置的bean的能够取代xml的配置的bean。

SpringBoot——springboot自动配置原理_xml_02

AppConfig就是的配置的bean的。(在类中添加配置 @Configuration)

SpringBoot——springboot自动配置原理_加载_03

Tomcat的怎么样的启动的spring的容器?

Tomcat能够调用额spring的采用的是的SPI技术。SPI机制(servlet3.0 新规范)

SpringBoot——springboot自动配置原理_spring boot_04

SpringBoot——springboot自动配置原理_加载_05

@HandlerTypes(接口类) 这个里面回去扫描的到所有实现的这个接口类的子类的

Spring的配置的JSON的解析器?

SpringBoot——springboot自动配置原理_加载_06

Springboot的零配置

@SpringBootConfigurationa(加载的bean):加载相关的类中添加了@CompenScan+、@Repository、@Service、@Compent、@Controller类到beandefinitionMap中

@EnableAutoConfigurationa(自动配置的类):@Import就是加载的INF下面的Spring.Factory的相关的配置类到beandefinitionMap的加载气的配置类。这里里面涉及到SPI技术。

@Componentscan(扫描包)

SpringBoot——springboot自动配置原理_加载_07