‹ 返回笔记 Esc·

Spring Boot 问题与修复

常用依赖 🌐 Web 开发相关 🗄️ 数据访问与存储 --- 🔐 安全与认证 --- ✉️ 消息传递与集成 --- 🛠️ 工具与支持 --- 🧪 测试相关 --- 热重载配置 --- 添加启…

常用依赖

🌐 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 的核心设计思想之一。