Micronaut-解决属性文件中的占位符

时间:2019-03-27 16:52:17

标签: micronaut

如何解析类似于以下内容的属性文件中的占位符。

我正在使用一个外部属性文件-dev.properties,其条目类似于以下内容:

db.database: testdb
db.user: testuser
db.password: password
db.dev_server: server1
db.port: 9999
db.url: jdbc:database:${db.dev_server}:${db.port}/${db.database}

使用-Dmicronaut.config.files = path_to_dev.properties加载此文件

@ConfigurationProperties("db")
class Config {
    // all the properties (database, user etc) including getters and setters createted 

    public Config () {

    }
}

当我在另一个类中注入Config时,它无法解析url属性中的占位符。

Caused by: io.micronaut.context.exceptions.ConfigurationException: Could not resolve placeholder ${db.dev_server} in value: jdbc:database:${db.server}:${db.port}/${db.database}

1 个答案:

答案 0 :(得分:0)

这是开发人员在尝试迁移现有项目时首先遇到的问题,因为并非总是有不符合kebab的情况。 如果您迁移项目或第三方库,通常会遇到问题,但是可以预期并记录了行为。

文档很清楚,预计会出现烤肉串情况。 https://docs.micronaut.io/latest/guide/index.html#_property_value_binding

最后,它只是将任何蛇案或骆驼案属性转换为烤肉串案。