目录
3.SpringBoot的@SpringBootApplication注解
1.什么是SpringBoot
springboot是一个简化spring开发框架,基于maven依赖,整合了许多优秀的框架,不用手写xml配置文件,内嵌tomcat,jetty等容器,不许打成war包,方便开发人员快速搭建和开发的一个框架。
参考网站:对于springboot的基础详细解析SpringBoot基础_dustdawn的博客-CSDN博客_springboot基础
2.SpringBoot的执行流程
1.springboot启动流程概述
2.初始化springboot application实例详解
(1)流程图
源码如下:
(2)判断当前项目类型详解
参考网站:https://blog.csdn.net/silmeweed/article/details/86586214
通过启动类找到响应源码:
3.SpringBoot的@SpringBootApplication注解
通过源码可知,此注解包含三个重要注解:
@SpringBootConfiguration:标注该类是Spring的一个配置类;并且会自动扫描添加了
@Configuration的配置类,读取其中的配置信息。
@EnableAutoConfiguration:SpringBoot自动配置功能开启,借助于@import的支持,收集和注册特定场景相关的bean定义,根据依赖的jar包;它还有一个注解就是
@AutoConfigurationPackage:将主配置类所在的包及其子包里面的组件扫描到spring容器中,与
@ComponentScan不同的是可以扫描第三方的注解,比如@Entity和@MapperScan
@ComponentScan:扫描此注解所在包及其子包,相当于原来在spring中<context:component-scan>,告诉spring哪个包用注解标注的类会被扫描并装入ioc容器中
4.默认静态资源目录
5.SpringBoot自动装配原理
简单总结:
简单总结:
SpringBoot启动的时候加载主配置类,其中@EnableAutoConfiguration注解会通过@Import注解扫描所有jar包类路径下的"META-INF/spring.factories",里面标注了自动配置类,自动配置类会通过@ConditionalOnClass注解检测是否添加了相关依赖,如果添加了相关依赖会把自动配置类中bean添加到容器中,完成自动配置
找到selectImports方法,然后根据箭头去找对应的方法
以mybatis为例: