在梳理完Spring的设计思想之后,趁热打铁又学习了一下springboot的基本使用,因为现在大部分项目开发中都应用到Springboot的自动装配功能,实现了精简maven依赖,快速开发,单独部署的功能。
Spring-boot基于Spring实现了自动化装配,外部化配置,嵌入式容器,生产监控四个大的部分
- 自动化装配:
自动化装配是基于规约大于配置的准则,简化了架构人员的系统搭建复杂度
主要依赖:@EnableAutoConfiguration注解
和各个派生@***AutoConfiguration注解,比如
这部分功能是基于Spring的@Enable**注解和@Conditional注解派生的功能
- 外部化配置
外部化配置其实就是指的在java目录之外的配置文件,看一下工程文件
java代码是内部文件,同级别的resource文件就是外部化配置文件,但是不限于resources文件,还可以是配置中心,比如apollo或者nacos。
这部分功能是基于spring3.0之后的Environment抽象做的扩展,
spring 有以上17种外部化配置,按照从1-17的顺序按序查询。
- 嵌入式容器
Springboot的依赖中,可以按需整合servlet容器和reactive容器,使得打出的jar包可以脱离web容器自己运行。
- 生产监控
这部分是springboot整合了jvm的JMX的监控功能加Springboot actuator的功能,从外部监控工程运行时的数据,比如健康,指标等
以上就是我在学习中总结的Springboot的四个核心功能,接下来的文章也主要是围绕这四个部分做的梳理。好记性不如烂笔头,在梳理的过程中也帮助自己理解消化Springboot。