2.5 KiB
2.5 KiB
配置系统使用说明
📋 概述
本系统采用外部配置文件管理数据库连接,实现配置与代码分离,方便客户部署和维护。
📁 配置文件位置
项目根目录/
└── config/
└── database.yaml # 数据库配置文件
🚀 首次运行
-
自动初始化:首次运行应用时,系统会自动:
- 创建
config目录(如果不存在) - 生成默认的
database.yaml配置文件
- 创建
-
修改配置:编辑
config/database.yaml文件,填入实际的数据库连接信息:spring: datasource: url: jdbc:mysql://你的主机:3306/uni_login_system?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true username: 你的用户名 password: 你的密码 driver-class-name: com.mysql.cj.jdbc.Driver -
启动应用:保存配置后,重新启动应用即可。
📝 配置文件示例
参考 config/database.yaml.example 文件查看完整示例和说明。
⚙️ 工作原理
-
启动时检查:应用启动时,
DatabaseConfigEnvironmentPostProcessor会:- 检查
config/database.yaml是否存在 - 不存在则创建默认配置文件
- 加载配置文件并应用到 Spring 环境
- 检查
-
优先级:外部配置文件的优先级高于
application.properties -
热更新:修改配置文件后需要重启应用才能生效
🔧 技术实现
- ConfigManager:负责配置文件的检查、创建和加载
- DatabaseConfigEnvironmentPostProcessor:Spring Boot 环境后置处理器,在启动早期加载配置
- SnakeYAML:用于解析 YAML 格式的配置文件
💡 最佳实践
-
生产环境:
- 使用强密码
- 考虑使用环境变量或加密密码
- 限制配置文件的访问权限
-
版本控制:
- 不要将
config/database.yaml提交到 Git - 可以提交
config/database.yaml.example作为模板
- 不要将
-
备份配置:定期备份配置文件
❓ 常见问题
Q: 为什么我的配置没有生效? A: 检查以下几点:
- 确认
config/database.yaml文件格式正确 - 确认 MySQL 服务已启动
- 确认数据库已创建
- 查看控制台日志,确认配置已成功加载
Q: 如何恢复到默认配置?
A: 删除 config/database.yaml 文件,重启应用会自动重新生成。
Q: 可以使用其他格式吗?
A: 目前仅支持 YAML 格式,如需其他格式可以修改 ConfigManager 类。