Spring Boot Starter 大全
| 序号 | Starter包 | 作用 | 依赖包 |
|---|---|---|---|
| 1 | spring-boot-starter | 核心启动器:Spring Boot 的基石,提供自动配置支持、日志记录(Logback)和 YAML 配置文件解析,所有Spring Boot项目都会默认引入。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>3.5.14</version>
<scope>compile</scope>
</dependency>
|
|
| 2 | spring-boot-starter-web | Web 开发必备:用于构建 MVC Web 应用,包含嵌入式 Tomcat 容器、Spring MVC 框架和用于 JSON 转换的 Jackson 依赖。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.5.14</version>
<scope>compile</scope>
</dependency>
---------
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.5.14</version>
<scope>provided</scope>
</dependency>
|
|
| 3 | spring-boot-starter-logging |
|
|
| 4 | spring-boot-starter-json |
|
|
| 5 | spring-boot-starter-tomcat |
|
|
| 6 | spring-boot-starter-jdbc | jdbc |
|
| 7 | spring-boot-starter-security |
|
|
| 8 | spring-boot-starter-actuator | 生产级监控:为应用带来生产就绪功能,通过 HTTP 端点暴露运行状况、指标、线程等维度的监控信息。 |
|
| 9 | spring-boot-starter-test | 一站式测试工具集:引入单元测试和集成测试的主流库,自动包含 JUnit、Mockito、AssertJ 等,通过 @SpringBootTest 注解可启动应用上下文进行测试。 |
|
| 10 | spring-boot-starter-data-redis | NoSQL 集成:在 Spring Boot 应用中集成 Redis(内存数据库),提供 RedisTemplate 等便捷工具操作 String/List/Hash 等多种数据类型。 |
|
| 11 | spring-boot-starter-aop | 面向切面编程:引入 Spring AOP 和 AspectJ,实现通用的日志记录、性能监控等功能。 |
|
| 12 | spring-boot-starter-validation | 提供声明式的数据校验能力:可以通过注解来简洁地验证 Java Bean 中字段值的合法性,从而大幅减少手写 if/else 校验代码。 |
|
| 13 | druid-spring-boot-starter | 阿里巴把 druid |
|
| 14 | xbatis-spring-boot-starter |
|
|
| 15 | spring-web | spring-web 依赖包中提供的注解主要集中在 org.springframework.web.bind.annotation 包下,是构建 Spring MVC 或 WebFlux 应用程序的核心工具。一、请求处理与参数绑定 @RequestMapping、@GetMapping、@PostMapping、@PutMappin、@DeleteMapping、@PatchMapping、@PathVariable、@RequestParam 、@RequestBody、@RequestAttribute、@RequestHeader、@CookieValue、@RequestPart、@MatrixVariable、@SessionAttribute、@ModelAttribute 二、响应处理 @ResponseBody、@ResponseStatus 三、控制器声明与全局配置 @Controller、@RestController、@ControllerAdvice、@RestControllerAdvice、@InitBinder 四、其他辅助功能 @CrossOrigin、@ExceptionHandler、@SessionAttributes 依赖包 spring-web 中 提供了哪些注解?
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>6.2.18</version>
<scope>compile</scope>
</dependency>
|
|
| 16 | spring-webmvc |
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.2.18</version>
<scope>compile</scope>
</dependency>
|
|
| 17 | springdoc-openapi-ui | doc |
|
示例:spring-boot-starter-web
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.5.11</version>
<scope>compile</scope>
</dependency>
一、核心基础依赖
1. spring-boot-starter
👉 最基础的启动器(必须有)
作用:
- 自动配置(Auto Configuration)
- 组件扫描(Component Scan)
- Spring Boot 基础运行环境
2. spring-boot-starter-parent
👉 父工程(Maven)
作用:
- 统一依赖版本(避免冲突)
- 提供默认插件配置(如打包、编译)
3. spring-boot-starter-test
👉 测试依赖
作用:
- 集成 JUnit、Mockito、AssertJ
- 支持 Spring 测试上下文
二、Web开发相关
4. spring-boot-starter-web
👉 最常用(Web项目必备)
作用:
- 内嵌 Tomcat(默认)
- Spring MVC(REST接口开发)
- JSON处理(Jackson)
适用于:
- API服务
- 后端系统
5. spring-boot-starter-webflux
👉 响应式 Web(异步非阻塞)
作用:
- 基于 Reactor
- 支持高并发、流式处理
适用于:
- 高并发系统
- 实时数据流(如网关)
三、数据库与持久化
6. spring-boot-starter-data-jpa
👉 JPA(ORM框架)
作用:
- 基于 Hibernate
- 简化数据库操作(CRUD自动化)
7. spring-boot-starter-jdbc
👉 原生 JDBC 支持
作用:
- 使用 JdbcTemplate 操作数据库
- 更灵活、性能更可控
8. mybatis-spring-boot-starter
👉 MyBatis 集成
作用:
- SQL可控(适合复杂查询)
- Mapper接口自动实现
四、微服务 & 中间件
9. spring-boot-starter-actuator
👉 监控与运维核心组件(强烈推荐)
作用:
- 健康检查(/actuator/health)
- 指标监控(CPU、内存、线程)
- 应用信息暴露
10. spring-boot-starter-security
👉 安全框架
作用:
- 登录认证
- 权限控制(RBAC)
- 防止常见攻击(CSRF等)
11. spring-boot-starter-validation
👉 参数校验
作用:
- 基于 Hibernate Validator
- 注解校验(@NotNull、@Size等)
五、缓存与消息
12. spring-boot-starter-cache
👉 缓存抽象
作用:
- 支持 Redis、EhCache、Caffeine
- 简化缓存逻辑
13. spring-boot-starter-data-redis
👉 Redis 集成
作用:
- 分布式缓存
- 分布式锁
- Session共享
14. spring-boot-starter-amqp
👉 RabbitMQ 消息队列
作用:
- 异步处理
- 解耦系统
15. spring-boot-starter-kafka
👉 Kafka 集成
作用:
- 高吞吐消息流处理
- 日志、流式计算
六、日志与配置
16. spring-boot-starter-logging
👉 默认日志系统
作用:
- Logback + SLF4J
- 自动日志配置
17. spring-boot-configuration-processor
👉 配置提示工具
作用:
- application.yml 自动提示(IDE支持)
- 提升开发体验
七、模板与视图(较少用)
18. spring-boot-starter-thymeleaf
👉 服务端模板引擎
作用:
- 渲染 HTML 页面
- MVC 模式
八、常见组合(实战推荐)
✅ 后端管理系统(最常见)
spring-boot-starter-web spring-boot-starter-data-jpa 或 mybatis spring-boot-starter-validation spring-boot-starter-security spring-boot-starter-actuator spring-boot-starter-data-redis
✅ 微服务基础
spring-boot-starter-web spring-boot-starter-actuator spring-boot-starter-security spring-boot-starter-data-redis spring-boot-starter-amqp 或 kafka
✅ 高并发系统
spring-boot-starter-webflux spring-boot-starter-data-redis spring-boot-starter-actuator
九、核心理解(重点)
Spring Boot Starter 的本质是:
👉 “约定优于配置” + 自动装配
它帮你解决了:
- 依赖冲突
- 配置复杂
- 框架整合难
十、给你一个建议(结合你在做的系统)
你之前说要做 IT运维管理系统 + AI开发体系,建议依赖组合:
👉 推荐技术栈:
- Web:spring-boot-starter-web
- ORM:MyBatis / Xbatis
- 缓存:Redis
- 监控:Actuator
- 安全:Security(后期加)
- 日志:默认即可
AI给你一套 Spring Boot 3 + MySQL + Redis + Xbatis(或 MyBatis) 的企业级基础依赖 + 分层结构 + 最小可运行模板思路。
完整 pom.xml(推荐基线)
👉 适用于:后台系统 / 运维平台 / API服务
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>it-ops-system</artifactId>
<version>1.0.0</version>
<!-- Spring Boot 3 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.5</version>
</parent>
<properties>
<java.version>17</java.version>
</properties>
<dependencies>
<!-- Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 参数校验 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- AOP(日志、审计) -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!-- 数据库 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- MyBatis(或换成 Xbatis) -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<!-- MySQL 驱动 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 缓存 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>
</dependency>
<!-- 监控 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- JSON增强 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<!-- 配置提示 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<!-- Lombok(可选) -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- 测试 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
</dependencies>
</project>