1.SpringBoot和Spring的区别是什么?
1.SpringBoot尽可能的自动化配置Spring
2.SpringBoot提供starters简化构建
3.SpringBoot提供了一系列大型项目通用的非业务性功能,例如:内嵌服务器、安全管理、运行数据监 控、运行状况检查和外部化配置
2.SpringBoot是如何自动化配置的?
1.SpringBoot启动的时候通过@EnableAutoConfiguration注解找到找到META-INF/spring.factories配置文件中所有的自动配置类。
2.加载spring.factories文件中配置类
3.将加载的配置类结合一些条件(@Condition开头的注解)判断,如果符合条件就注册进IOC容器中去
4.配置类生效,自动配置相关属性
3.Spring Boot 中的 starter 到底是什么?
1.Springboot的starter其实集成接合器,它主要完成两件事
- 引入模块所需的相关jar包
- 自动配置各自模块所需的属性
2.starter是结合Spring已有的功能来实现的,首先它提供一个自动化配置类XXXAutoConfiguration结尾的类
3.在这个配置类中通过条件注解来决定是否生效
4它还会提供一些列的默认配置。也允许开发者自定义starter包来扩展。