SpringBoot 核心组件
SpringBoot 有四大组件:starter、autoconfigure、actuator 以及 CLI
Spring Boot Starter
示例
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>在 Spring Boot 项目的 pom 文件中经常能看到这两种依赖
spring-boot-starter-xxx:Spring Boot 官方提供的 starterxxx-spring-boot-starter:非官方,厂商自己封装的 starter
引入依赖后,在 Spring Boot 核心配置文件中进行简单的相关配置即可
如果不使用 starter,以 MyBatis 为例
引入依赖时需要以下依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
</dependency>并且需要自己手动编写配置文件配置相关的 bean,并且要把它们注入到 Spring 容器中
小结
- 使用 starter 可以帮助我们封装好所有需要的依赖,避免了手动添加时导致的 jar 包冲突等问题
- 使用 starter 帮我们解决了把 bean 自动注入到 Spring 容器的工作,并且配置上更加简化
Spring Boot Autoconfigure
autoconfigure 往往伴随着 starter ,是 starter 能力体现的具体实现
以 MyBatis 为例,mybatis-spring-boot-autoconfigure 依赖就在 mybatis-spring-boot-starter 里面

小结
autoconfigure 的内容主要是实现了配置 bean 实例到 Spring 容器中,所以说 autoconfigure 是 starter 能力的具体实现
Spring Boot actuator
actuator 是 Spring Boot 提供的监控插件,提供了很多接口来获取当前项目的各项运行状态指标
Spring Boot 对这些可以监控的端点称为 Endpoints
使用方法
添加依赖
xml<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>配置需要开启监控的端点
yamlmanagement: endpoint: health: ## 开启健康监控端点 enabled: true启动服务时,可以在控制台中看到这样的输出
bash... 2022-04-28 15:50:30.785 INFO 19660 --- [ main] o.s.b.a.e.web.EndpointLinksResolver : Exposing 1 endpoint(s) beneath base path '/actuator' ...验证,访问
IP:port/actuator就能看到监控信息的地址json{ "_links":{ "self":{ "href":"http://localhost:8080/actuator", "templated":false }, "health":{ "href":"http://localhost:8080/actuator/health", "templated":false }, "health-path":{ "href":"http://localhost:8080/actuator/health/{*path}", "templated":true } } }
小结
actuator 可以在 Spring Boot 的监控中发挥了巨大的作用。另外,当项目升级到 Spring Cloud 微服务项目时,actuator 暴露的端点可以很好地让注册中心知道当前服务是否在线、可用。
Spring Boot CLI
Spring Boot CLI 是一个 Spring Boot 提供的客户端工具,主要的功能是
- 运行 groovy 脚本
- 打包 groovy 文件到 jar
- 初始化 Spring Boot 项目
- 其他
这个组件在日常开发中使用得较少,了解即可
官方文档:Spring Boot CLI