SpringBoot:
1、SpringBoot用来简化Spring应用的初始化搭建以及开发过程 使用特定的方式进行配置(yml文件或者properties文件)。
2、内嵌tomcat无需部署war文件。
3、使用Starter来简化依赖配置。
Starter相当于场景的意思:比如web包的starter会将web所需要的一系列的包都引入进来,就可以直接使用了。
4、实现自动配置。
5、创建独立的Spring应用。
总之 - Springboot来简化Spring应用开发,产品及应用。
Springboot的优点:
1、快速创建独立的运行的Spring项目与主流框架集成。
2、使用嵌入式的tomcat,无需打包成war。
3、starters自动依赖与版本控制。
4、大量自动化配置,简化开发。
SpringBoot的SpringBootApplication注解:
@SpringBootApplication包含了@SpringBootConfiguration,@EnableAutoConfiguration,@ComponentScan注解。
Spring自动配置的原理
SpringBoot启动的时候通过@SpringBootApplication 中 @EnableAutoConfiguration注解找到META-INF/spring.factories配置文件中所有的自动配置类,并对其进行加载,而这些自动配置类的类名都是以AutoConfiguration结尾来命名的,它实际上就是一个javaConfig形式的Spring容器配置类,它们都有一个@EnableConfigurationPerperties的注解,通过这个注解启动XXXProperties命名的类去加载全局配置中的属性,如server.port,而XXXProperties通过@ConfigurationProperties注解将全局配置文件中的属性与自己的属性进行。
SpringBoot 配置加载顺序
1、properties文件
2、YAML文件
3、系统环境变量
4、命令行参数