📝 主要改进: • Cursor配置模块化:拆分为前端、后端、移动端、文档、API测试5个专门规范文件 • API文档重新组织:按业务模块拆分到docs/开发文档/API/目录下 • 新增维修分类功能完整测试方案和自动化测试脚本 • 后端热启动脚本完善,支持Linux/Windows双平台 • 强化文档同步更新规范,确保代码与文档一致性 🔧 技术改进: • 优化Cursor AI工作流程和代码生成质量 • 完善API测试规范(AES+RSA双重加密登录方法) • 提升开发效率和代码质量标准化程度 �� 测试覆盖: • 维修分类管理功能端到端测试验证通过 • 包含页面加载、CRUD操作、搜索功能等核心测试用例 更新时间:2025-07-01
7.0 KiB
7.0 KiB
Spring Boot DevTools 热加载配置说明
📋 配置概述
配置时间: 2025-01-26 14:20:00
配置模块: ruoyi-admin
配置目标: 实现代码热加载,提高开发效率
🔧 已完成的配置
1. Maven 依赖配置
在 backend/ruoyi-admin/pom.xml 中已添加:
<!-- Spring Boot DevTools 热部署 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>runtime</scope>
</dependency>
2. 应用配置
在 backend/ruoyi-admin/src/main/resources/application-dev.yml 中已添加:
--- # 开发工具配置
spring:
# DevTools热部署配置
devtools:
restart:
# 启用热重启
enabled: true
# 排除不需要重启的资源
exclude: 'static/**,public/**,templates/**,**/*Test.class,**/*Tests.class'
# 额外的监控路径
additional-paths: 'src/main/java'
# 监控排除路径
additional-exclude: '**/*.properties'
# 重启触发文件 - 当此文件改动时触发重启
trigger-file: '.reloadtrigger'
# 启用热重启日志
log-condition-evaluation-delta: false
livereload:
# 启用LiveReload,需要浏览器插件支持
enabled: true
# LiveReload端口
port: 35729
🚀 IDE 配置指南
IntelliJ IDEA 配置
必需配置步骤:
-
启用自动编译
- 打开
File→Settings(macOS:IntelliJ IDEA→Preferences) - 导航到
Build, Execution, Deployment→Compiler - 勾选
Build project automatically
- 打开
-
启用运行时自动编译
- 在设置界面按
Ctrl+Shift+A(macOS:Cmd+Shift+A) - 搜索
Registry - 找到
compiler.automake.allow.when.app.running - 勾选此项
- 在设置界面按
-
配置项目设置
- 在项目设置中,确保模块的
Output path指向target/classes - 设置
Test output path指向target/test-classes
- 在项目设置中,确保模块的
推荐配置:
-
优化热加载效果
File→Settings→Advanced Settings- 勾选
Allow auto-make to start even if developed application is currently running
-
配置运行配置
- 在运行配置中,确保选择的是开发环境 (
devprofile) - JVM 参数可以添加:
-Dspring.profiles.active=dev
- 在运行配置中,确保选择的是开发环境 (
Eclipse 配置
-
启用自动构建
Window→PreferencesGeneral→Workspace- 勾选
Build automatically
-
项目属性配置
- 右键项目 →
Properties Java Build Path→Source- 确保
Default output folder设置正确
- 右键项目 →
🎯 使用方法
基本使用
-
启动应用
cd backend/ruoyi-admin mvn spring-boot:run -Dspring-boot.run.profiles=dev -
或使用 IDE 运行
- 在 IDEA 中直接运行
RuoYiApplication主类 - 确保选择
dev环境
- 在 IDEA 中直接运行
触发热加载
当您修改以下类型的文件时,会自动触发热加载:
- ✅ Java 源代码 (.java 文件)
- ✅ 配置文件 (.properties, .yml 文件)
- ✅ 资源文件 (classpath 下的资源)
- ✅ MyBatis 映射文件 (.xml 文件)
手动触发重启
如果需要手动触发重启,可以:
-
修改触发文件
# 在项目根目录创建或修改触发文件 touch backend/ruoyi-admin/.reloadtrigger -
或者重新编译
- IDEA:
Ctrl+F9(macOS:Cmd+F9) - Eclipse: 项目自动构建
- IDEA:
📊 热加载范围
✅ 支持热加载的变更
- Controller 类: 新增/修改接口方法
- Service 类: 业务逻辑修改
- Entity/VO 类: 实体类字段修改
- Mapper 接口: MyBatis 接口方法
- XML 映射文件: SQL 语句修改
- 配置文件: application.yml 等配置变更
- 静态资源: CSS、JS、HTML 等前端资源
❌ 不支持热加载的变更
- 依赖变更: pom.xml 中添加/删除依赖
- 注解配置: Spring 核心注解的结构性变更
- Bean 定义: 复杂的 Spring Bean 配置变更
- 安全配置: 权限相关的重大变更
🔍 验证热加载
验证步骤
-
启动应用
mvn clean compile spring-boot:run -Dspring-boot.run.profiles=dev -
观察控制台输出 看到类似以下日志表示 DevTools 正常工作:
2025-01-26 14:20:00.123 INFO 12345 --- [ restartedMain] o.s.b.d.a.OptionalLiveReloadServer : LiveReload server is running on port 35729 -
测试热加载
- 修改一个 Controller 方法
- 保存文件
- 观察控制台是否出现重启日志
- 测试 API 接口是否反映了变更
热加载日志示例
2025-01-26 14:25:30.456 INFO 12345 --- [ Thread-1] o.s.b.d.a.ConditionEvaluationDeltaLoggingListener : Condition evaluation delta:
...
2025-01-26 14:25:30.789 INFO 12345 --- [ restartedMain] o.d.RuoYiApplication : Started RuoYiApplication in 2.345 seconds (JVM running for 45.678)
🚨 注意事项
性能考虑
-
仅在开发环境使用
- DevTools 会占用额外内存和 CPU 资源
- 生产环境务必禁用 DevTools
-
大型项目优化
- 如果项目较大,可以配置更精确的监控路径
- 排除不必要的文件类型避免误触发
常见问题
-
热加载不工作
- 检查 IDE 自动编译是否启用
- 确认运行的是开发环境配置
- 查看控制台是否有 DevTools 相关日志
-
频繁重启
- 检查排除配置是否正确
- 避免修改频繁变动的配置文件
-
某些变更不生效
- 复杂的 Spring 配置变更可能需要完全重启
- 数据库连接配置变更需要重启
🎯 开发建议
最佳实践
-
合理使用
- 在开发阶段充分利用热加载
- 重大架构调整时考虑完全重启
-
监控性能
- 注意应用启动时间变化
- 监控内存使用情况
-
团队协作
- 确保团队成员都正确配置了 IDE
- 统一开发环境配置标准
进阶配置
spring:
devtools:
restart:
# 自定义重启类加载器
additional-paths: 'src/main/java,src/main/resources'
# 更精确的排除规则
exclude: 'static/**,public/**,templates/**,**/*Test.class'
# 触发文件监控
poll-interval: 1000
quiet-period: 400
📚 相关文档
- Spring Boot DevTools 官方文档: https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.devtools
- 项目配置文档:
docs/开发文档/README.md - IDE 配置指南:
docs/开发文档/IDE配置.md
✅ 热加载配置完成: ruoyi-admin 模块已成功配置热加载功能,可以大幅提高开发效率!
📝 使用提示: 修改 Java 代码后,应用会在 1-3 秒内自动重启,无需手动重启服务。