加载配置
spring-rs实现了一个简洁的配置系统
你可以通过下面的方式定义配置:
#[derive(Debug, Configurable, Deserialize)]
#[config_prefix = "my-plugin"]
struct Config {
a: u32,
b: bool,
}
通过app.get_config()
方法可以读取toml
中的配置:
[my-plugin]
a = 10
b = true
struct MyPlugin;
#[async_trait]
impl Plugin for MyPlugin {
async fn build(&self, app: &mut AppBuilder) {
// 在自己的插件中加载配置
let config = app.get_config::<Config>().expect("load config failed");
//...
}
}
在其他插件中使用配置
在配置文件中使用环境变量
spring-rs实现了一个简单的插值器。
可以在toml配置文件中使用${ENV_VAR_NAME}
占位符读取环境变量的值。
如果值不存在则不替换占位符。
用${ENV_VAR_NAME:default_value}
语法可以指定占位符的默认值。
[sea-orm]
uri = "${DATABASE_URL:postgres://postgres:xudjf23adj213@localhost/postgres}"
enable_logging = true