常用依赖
🌐 Web 开发相关
| 依赖项 |
技术说明 |
| Spring Web |
用于构建基于 Servlet 的 Web 应用,支持 RESTful API,默认使用嵌入式 Tomcat 服务器。 |
| Spring Reactive Web |
用于构建响应式 Web 应用,基于 Spring WebFlux,支持非阻塞 I/O。 |
| Thymeleaf |
现代化的服务器端 Java 模板引擎,适用于生成 HTML 页面。 |
| Spring Session |
提供分布式会话管理,支持多种后端存储(如 Redis、JDBC)。 |
🗄️ 数据访问与存储
| 依赖项 |
技术说明 |
| Spring Data JPA |
基于 Hibernate 的 ORM 框架,简化数据库操作。 |
| Spring Data JDBC |
轻量级的 JDBC 数据访问框架,适用于简单的关系型数据库操作。 |
| Spring Data MongoDB |
用于与 MongoDB 进行交互,支持文档存储。 |
| Spring Data Redis |
用于与 Redis 进行交互,支持缓存和消息传递。 |
| Spring Data Elasticsearch |
用于与 Elasticsearch 搜索引擎进行交互。 |
🔐 安全与认证
| 依赖项 |
技术说明 |
| Spring Security |
提供认证和授权功能,支持多种安全协议(如 OAuth2、JWT)。 |
| OAuth2 Client |
用于构建 OAuth2 客户端应用,支持单点登录(SSO)。 |
✉️ 消息传递与集成
| 依赖项 |
技术说明 |
| Spring for RabbitMQ |
用于与 RabbitMQ 消息代理进行交互,支持 AMQP 协议。 |
| Spring for Apache Kafka |
用于与 Apache Kafka 消息系统进行交互,支持高吞吐量的消息处理。 |
| Spring Integration |
提供企业集成模式(EIP)的实现,支持多种协议和数据格式的集成。 |
| Spring Batch |
用于构建批处理应用,支持大数据量的批量操作。 |
🛠️ 工具与支持
| 依赖项 |
技术说明 |
| Spring Boot DevTools |
提供开发时的自动重启、热部署等功能,提高开发效率。 |
| Spring Boot Actuator |
提供应用的监控和管理功能,支持健康检查、指标收集等。 |
| Spring Boot Test |
提供测试支持,包括单元测试和集成测试。 |
| Validation |
提供数据验证功能,支持 JSR-303/JSR-380 规范。 |
| Spring Doc Webmvc UI |
提供 Swagger 文档 |
🧪 测试相关
| 依赖项 |
技术说明 |
| Spring Boot Starter Test |
集成了 JUnit、Mockito、AssertJ 等测试库,支持单元测试和集成测试。 |
热重载配置
1--- 热重载
2spring:
3 devtools:
4 restart:
5 enabled: true
6 # 监控的目录
7 additional-paths: src/main/java,src/main/resources
8 # 排除不需要重启的文件
9 exclude: static/**,public/**,templates/**,META-INF/maven/**,META-INF/resources/**
10 livereload:
11 enabled: true
12---
添加启动时 Banner 图输出
resources目录下新建一个banner.txt文件
https://www.bootschool.net/ascii 生成 ASCII 艺术字网站
配置 Session 管理
1# 设置 Session 超时时间(以秒为单位)
2server.servlet.session.timeout=1800
3# 设置 Session 存储方式(默认为使用内存存储)
4server.servlet.session.store-type=redis
5# 设置 Cookie 名称(用于存储 Session ID)
6server.servlet.session.cookie.name=MYSESSIONID
7# 设置 Cookie 路径
8server.servlet.session.cookie.path=/
9# 设置 Cookie 的安全标志(默认为启用)
10server.servlet.session.cookie.secure=true
11# 设置 Cookie HTTPOnly 属性(默认为启用)
12server.servlet.session.cookie.http-only=true
模板类(Template Classes)
在 Spring Boot 中,提供了很多便捷的模板类(Template Classes)来简化与外部服务和资源的集成,比如 ElasticsearchRestTemplate、RedisTemplate、RestTemplate 等。这些模板类的作用主要是提供一套标准化的 API,用来帮助开发者与外部服务进行交互,而无需处理底层的细节。这类设计符合“模板方法模式”(Template Method Pattern),是 Spring Framework 的核心设计思想之一。