Expand description
分层配置系统:支持文件 → 环境变量 → 程序化覆盖的合并策略。
§配置来源优先级(从低到高)
- ConfigBuilder 默认值 — Builder 自带的默认值
- TOML 文件 —
Config::from_file("config.toml") - 环境变量 —
CC_MYSQL_<name>_<field>=value格式 - 程序化覆盖 —
ConfigBuilder::with_mysql()/with_redis()
§环境变量格式
CC_MYSQL_<NAME>_HOST=127.0.0.1
CC_MYSQL_<NAME>_PORT=3306
CC_MYSQL_<NAME>_USER=root
CC_MYSQL_<NAME>_PASSWORD=secret
CC_MYSQL_<NAME>_DATABASE=mydb
CC_MYSQL_<NAME>_MAX_CONNECTIONS=10
CC_MYSQL_<NAME>_SSL_MODE=preferred
CC_REDIS_<NAME>_URL=redis://localhost:6379Structs§
- Config
- 整个配置:多个命名 MySQL / Redis 连接。
- Config
Builder - 分层配置构建器,支持文件 → 环境变量 → 程序化覆盖。
- Mysql
Config - 单个 MySQL 连接的配置。
- Mysql
Config Builder - MySQL 单连接构建器,提供链式 API。
- Redis
Config - 单个 Redis 连接的配置。
- Redis
Config Builder - Redis 单连接构建器。
Traits§
- Into
Mysql Name - MySQL 连接名的抽象,用户可为枚举实现此 trait 以获得编译时检查。
- Into
Redis Name - Redis 连接名的抽象,用户可为枚举实现此 trait 以获得编译时检查。
- Validate
- 配置项验证。
Config::build()会自动调用。