【发布时间】:2019-08-18 08:06:52
【问题描述】:
如何解析类似于下面的属性文件中的占位符。
我正在使用一个外部属性文件 - 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}
【问题讨论】:
-
我在 micronaut 文档中找到了答案。 Micronaut 将属性标准化为 kebab case,因此它无法解析 ${dev_server}。将其更改为 ${dev-server} 有效。有没有其他解决方法?
-
这不是一种解决方法。这是你应该做的
-
是否有可能记录哪些属性是存在的......因为有时很难找到
标签: micronaut