本附录汇总了在 Spring 应用开发中高频使用的框架、工具库及中间件,覆盖开发、测试、部署和运维等环节,供快速查阅与选型参考。
B.1 核心开发框架
| 名称 | 用途 | 关键特性 |
|------|------|----------|
| Spring Boot | 应用快速搭建与运行 | 自动配置、起步依赖、内嵌容器、Actuator 监控 |
| Spring Framework | IoC 容器与基础能力 | 依赖注入、AOP、事务抽象、SpEL 表达式 |
| Spring MVC | Web 层开发(Servlet 栈) | 注解驱动、REST 支持、数据绑定、拦截器 |
| Spring WebFlux | 响应式 Web 开发 | 非阻塞 I/O、Reactor 模型、函数式端点 |
| Spring Data | 数据访问抽象层 | JPA、MongoDB、Redis、JDBC 等统一 Repository 模型 |
| Spring Security | 认证与授权 | 过滤器链、OAuth2、JWT、方法级安全、CSRF |
| Spring Session | 分布式会话管理 | Redis/JDBC/Hazelcast 会话存储 |
| Spring Batch | 批处理任务 | 作业步、ItemReader/Writer、重试与跳过 |
| Spring Cloud | 微服务治理 | 服务发现、配置中心、负载均衡、断路器、网关 |
B.2 微服务与云原生
| 名称 | 用途 | 说明 |
|------|------|------|
| Spring Cloud Gateway | API 网关 | 基于 WebFlux,支持路由、限流、鉴权 |
| Spring Cloud Netflix Eureka | 服务注册与发现 | Netflix 出品,AP 模型(已进入维护模式) |
| Spring Cloud Consul | 服务注册与配置 | HashiCorp 产品,支持健康检查与 KV 存储 |
| Spring Cloud Alibaba Nacos | 服务注册与配置中心 | 国产主流,支持动态配置、DNS 服务 |
| Spring Cloud LoadBalancer | 客户端负载均衡 | 替代 Ribbon 的官方组件 |
| Resilience4j | 断路器与容错 | 代替 Hystrix,提供限流、重试、舱壁 |
| Spring Cloud Stream | 消息驱动微服务 | 绑定 RabbitMQ 或 Kafka,统一编程模型 |
| Spring Cloud Sleuth | 分布式链路追踪 | 与 Brave/Zipkin 集成,记录调用链 |
| Micrometer | 指标收集 | Slf4j 式的指标门面,对接 Prometheus、Datadog 等 |
B.3 数据访问与集成
| 名称 | 用途 | 说明 |
|------|------|------|
| MyBatis / MyBatis-Plus | SQL 映射框架 | 灵活的 XML/注解映射,Plus 增强 CRUD |
| HikariCP | 数据库连接池 | Spring Boot 2.x+ 默认连接池,高性能 |
| Flyway / Liquibase | 数据库版本迁移 | 管理 SQL 脚本版本,自动化执行 |
| Redis | 分布式缓存/会话 | 高性能键值存储,常用客户端:Lettuce/Jedis |
| RabbitMQ | 消息队列 | AMQP 协议实现,适合企业集成 |
| Apache Kafka | 分布式消息系统 | 高吞吐、持久化,适合日志/流处理 |
| Feign / OpenFeign | 声明式 HTTP 客户端 | 接口加注解即可调用远程服务 |
| RestTemplate / WebClient | HTTP 请求工具 | 同步与响应式 HTTP 调用 |
| Spring Mail | 邮件发送 | 封装 JavaMail,模板邮件支持 |
B.4 安全与身份认证
| 名称 | 用途 | 说明 |
|------|------|------|
| Spring Security OAuth2 | OAuth2 授权 | 授权服务器、资源服务器、客户端 |
| JWT (jjwt / nimbus-jose-jwt) | JSON Web Token | 无状态认证令牌实现 |
| Keycloak | 身份与访问管理 | 开源 SSO,支持 OIDC/SAML |
| Apache Shiro | 轻量级安全框架 | 简单易用,适合传统项目 |
B.5 测试工具
| 名称 | 用途 | 说明 |
|------|------|------|
| JUnit 5 | 单元测试框架 | Java 主流测试标准 |
| Mockito | Mock 框架 | 创建模拟对象,验证行为 |
| AssertJ | 断言库 | 流式 API,可读性强 |
| Testcontainers | 集成测试容器化 | 通过 Docker 启动真实依赖(数据库、Redis 等) |
| Spring Boot Test | 测试支持 | @SpringBootTest、切片测试、MockMvc |
| REST Assured | API 接口测试 | DSL 风格,验证 REST 服务 |
| WireMock | HTTP 模拟服务 | 模拟外部 API,录放请求 |
B.6 构建与部署
| 名称 | 用途 | 说明 |
|------|------|------|
| Maven | 项目构建与依赖管理 | XML 配置,约定结构 |
| Gradle (Kotlin DSL) | 项目构建工具 | 灵活,性能优于 Maven,Android 默认 |
| Docker | 容器化部署 | 打包应用及环境,与 Spring Boot 分层构建 |
| Kubernetes | 容器编排 | 服务发现、弹性伸缩、滚动更新 |
| Jenkins / GitLab CI | 持续集成 | 自动化构建、测试、部署流水线 |
| Spring Boot Maven/Gradle Plugin | 打包可执行 JAR | 一键构建独立运行的 Fat JAR |
B.7 监控与运维
| 名称 | 用途 | 说明 |
|------|------|------|
| Spring Boot Actuator | 生产就绪端点 | 健康检查、指标、环境信息 |
| Micrometer | 指标门面 | 对接 Prometheus、Grafana 等 |
| Prometheus | 监控系统与告警 | 拉取指标,配合 Grafana 可视化 |
| Grafana | 数据可视化 | 仪表盘展示,支持多种数据源 |
| ELK Stack (Elasticsearch, Logstash, Kibana) | 日志收集与分析 | 集中日志管理 |
| Sentinel | 流量控制与熔断 | 阿里开源,适合高并发实时监控 |
B.8 常用工具库
| 名称 | 用途 | 说明 |
|------|------|------|
| Lombok | 减少样板代码 | @Data、@Builder、@Slf4j 等注解 |
| MapStruct | 对象映射 | 编译期生成转换代码,高性能 |
| Hutool | Java 工具集 | 国产全能工具类,简化日常编码 |
| Guava | Google 核心库 | 集合、缓存、字符串处理等 |
| Jackson / Gson | JSON 序列化 | Jackson 为 Spring 默认 |
| SLF4J + Logback | 日志门面与实现 | Spring Boot 默认日志方案 |
| Swagger / SpringDoc | API 文档生成 | OpenAPI 3.0 标准,可交互测试 |
| Validator | Bean 校验 | JSR-380,Hibernate Validator 实现 |
| Caffeine | 本地缓存 | 高性能,接近最优命中率 |
B.9 快速选型参考
- 缓存:本地用 Caffeine,分布式用 Redis。
- 消息:延迟低、可靠性高选 RabbitMQ;高吞吐、流处理选 Kafka。
- 服务发现:自建用 Nacos,已有 Consul 则复用。
- 数据库版本:轻量用 Flyway,灵活回滚用 Liquibase。
- HTTP 客户端:同步用 RestTemplate,异步用 WebClient,声明式用 Feign。
- 对象映射:编译期性能选 MapStruct,简单场景用 BeanUtils 或 JSON 中转。
- 测试:单元测试 Mockito+AssertJ,集成测试 Testcontainers,API 测试 REST Assured。
本表覆盖了 Spring 生态中常见的周边技术,实践中可根据项目需求、团队技能和基础设施选择最适合的组合。所有列出的工具与框架均与 Spring Boot 有良好的集成支持,可放心引入。