# Smart Question Bank 智能题库系统 ## 配置系统说明 ### 配置文件结构 ``` config/ ├── application.yml # 基础配置 ├── application-dev.yml # 开发环境配置 ├── application-prod.yml # 生产环境配置 └── config_loader.py # 配置加载器 ``` ### 环境变量配置 1. 复制`.env.example`为`.env` 2. 根据实际环境修改`.env`文件中的配置项 3. 主要配置项说明: ```bash # 应用配置 APP_ENV=development # 环境类型 (development|production) APP_NAME=Smart Question Bank # 应用名称 APP_VERSION=1.0.0 # 应用版本 APP_DEBUG=true # 调试模式 APP_SECRET_KEY= # 应用密钥 APP_TIMEZONE=Asia/Shanghai # 时区 APP_LOCALE=zh_CN # 本地化语言 API_PREFIX=/api/v1 # API前缀 # 数据库配置 DB_HOST=localhost # 数据库主机 DB_PORT=3306 # 数据库端口 DB_USER=root # 数据库用户 DB_PASSWORD= # 数据库密码 DB_NAME=question_bank # 数据库名称 DB_POOL_SIZE=10 # 连接池大小 DB_MAX_OVERFLOW=20 # 最大溢出连接数 DB_ECHO=false # SQL日志输出 DB_POOL_RECYCLE=3600 # 连接回收时间(秒) # Redis配置 REDIS_HOST=localhost # Redis主机 REDIS_PORT=6379 # Redis端口 REDIS_PASSWORD= # Redis密码 REDIS_DB=0 # Redis数据库编号 # JWT配置 JWT_SECRET= # JWT密钥 JWT_ALGORITHM=HS256 # JWT算法 JWT_ACCESS_TOKEN_EXPIRE_MINUTES=1440 # 访问令牌有效期(分钟) JWT_REFRESH_TOKEN_EXPIRE_DAYS=30 # 刷新令牌有效期(天) # CORS配置 CORS_ORIGINS= # 允许跨域请求的源 ``` ### 配置加载顺序 1. 加载`application.yml`基础配置 2. 根据`APP_ENV`加载对应环境配置 3. 加载`.env`环境变量配置 4. 环境变量优先级最高,会覆盖配置文件中的相同配置项 ### 最佳实践 - 生产环境务必修改`APP_SECRET_KEY`和`JWT_SECRET` - 敏感信息(如数据库密码)应通过环境变量配置 - 开发环境可使用`.env`文件,生产环境建议直接设置系统环境变量