一、何为自动装配?
试想一下,我们导入一些外部配置文件后,想要将这些配置文件引入到工程中使用,我们需要进行很多配置工作或者书写很多配置文件才能完成,废不废劲?麻不麻烦?
福音来到:Springboot的自动装配原理设计,很好的解决了这个问题,即Spring容器启动过后,一些自动装配类就会自动装配到IOC容器中,不需要我们手动注入,好开心!!!;
二、自动装配原理
1. SPI:是server provider interface 的简写,字面意思是服务发现接口,我理解就是第三方拓展API,他是java提出的,即开箱即用的思想。在spring的生态中已经运用得非常多,比如springMVC中官方推荐的去web.xml的方式,用一个onStart的方法就将dispatcherServlet到IOC的容器中,这也是利用了tomcat的SPI。在springBoot中,当我们加一个starter的包,spring将帮我们注入了一些类。你删掉包后,spring就不会注入。不会产生任何的影响,这就是SPI的思想,拆箱即用;
2. 分析注解
首先看一下流程图: