https://blog.csdn.net/cqdz_dj/article/details/51911543
https://my.oschina.net/bigsloth/blog/754486
https://blog.csdn.net/qq_19674905/article/details/79367921
https://www.jianshu.com/p/4e1cab2d8431
一、springboot起始类
@RestController 告诉Spring该类用于处理Web请求,并且把结果直接返回给调用者
@RequestMapping 提供路由信息,它告诉Spring请求对应路径的方法
@EnableAutoConfiguration 告诉 Spring Boot 根据项目中添加的依赖,进行相关的配置
main方法是一个java程序的入口,它委托 Spring Boot 的SpringApplication类调用其run方法来引导Spring以及Tomcat容器的执行。
二、springboot的起始jar包
三、@EnableAutoConfiguration的作用
借助EnableAutoConfigurationImportSelector,
@EnableAutoConfiguration可以帮助SpringBoot应用
将所有符合条件的@Configuration配置都加载到当前SpringBoot创建并使用的IoC容器。就像一只“八爪鱼”一样。
借助于Spring框架原有的一个工具类:SpringFactoriesLoader的支持,@EnableAutoConfiguration可以智能的自动配置功效才得以大功告成!
所以,@EnableAutoConfiguration自动配置的魔法骑士就变成了:
从classpath中搜寻所有的META-INF/spring.factories配置文件,
并将其中org.springframework.boot.autoconfigure.EnableutoConfiguration对应的配置项通过反射(Java Refletion)实例化
为
对应的标注了@Configuration的JavaConfig形式的IoC容器配置类,
然后汇总为一个并加载到IoC容器。
四、启动注解@SpringBootApplication
入口类Application的启动注解@SpringBootApplication
通过自定义PropertySourceLoader来自定义配置加载