Files
Uni_Login_system/CONFIG_GUIDE.md
T
2026-05-31 04:36:59 +08:00

2.5 KiB
Raw Blame History

配置系统使用说明

📋 概述

本系统采用外部配置文件管理数据库连接,实现配置与代码分离,方便客户部署和维护。

📁 配置文件位置

项目根目录/
└── config/
    └── database.yaml    # 数据库配置文件

🚀 首次运行

  1. 自动初始化:首次运行应用时,系统会自动:

    • 创建 config 目录(如果不存在)
    • 生成默认的 database.yaml 配置文件
  2. 修改配置:编辑 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
    
  3. 启动应用:保存配置后,重新启动应用即可。

📝 配置文件示例

参考 config/database.yaml.example 文件查看完整示例和说明。

⚙️ 工作原理

  1. 启动时检查:应用启动时,DatabaseConfigEnvironmentPostProcessor 会:

    • 检查 config/database.yaml 是否存在
    • 不存在则创建默认配置文件
    • 加载配置文件并应用到 Spring 环境
  2. 优先级:外部配置文件的优先级高于 application.properties

  3. 热更新:修改配置文件后需要重启应用才能生效

🔧 技术实现

  • ConfigManager:负责配置文件的检查、创建和加载
  • DatabaseConfigEnvironmentPostProcessorSpring Boot 环境后置处理器,在启动早期加载配置
  • SnakeYAML:用于解析 YAML 格式的配置文件

💡 最佳实践

  1. 生产环境

    • 使用强密码
    • 考虑使用环境变量或加密密码
    • 限制配置文件的访问权限
  2. 版本控制

    • 不要将 config/database.yaml 提交到 Git
    • 可以提交 config/database.yaml.example 作为模板
  3. 备份配置:定期备份配置文件

常见问题

Q: 为什么我的配置没有生效? A: 检查以下几点:

  • 确认 config/database.yaml 文件格式正确
  • 确认 MySQL 服务已启动
  • 确认数据库已创建
  • 查看控制台日志,确认配置已成功加载

Q: 如何恢复到默认配置? A: 删除 config/database.yaml 文件,重启应用会自动重新生成。

Q: 可以使用其他格式吗? A: 目前仅支持 YAML 格式,如需其他格式可以修改 ConfigManager 类。