scala - ficus lib有什么方法可以根据配置中的值在scala案例类中注入Long或String
问题描述
我正在使用ficus 库
解析 scala 案例类中的配置
案例类大致如下所示
case class Entity(value: Any)
和配置
{
value = "something"
}
值可能是数字或字符串。
但是没有config.as[Entity]("pathToConfig")
返回值java.lang.Object
。
如何根据配置中的值使榕树注入 Long 或 String 值?
解决方案
Entity
我像这样为这个特定的类 创建了一个 ValueReader
implicit val entityReader: ValueReader[Entity] = ValueReader.relative { config =>
config.getAnyRef("value") match {
case value: java.lang.Integer => Entity(value.toLong)
case value => Entity(value)
}
}
这种方式value
在Entity
String 或 Long
推荐阅读
- python - 删除图像的背景
- android - com.loopj.android:android-async-http 中的连接超时异常持续
- javascript - 如何使用 javascript/jquery 在 html 页面中播放 .any 自定义视频文件,例如 asf、ts、mov 等?
- reactjs - Firebase 数据库:如何通过分页按时间顺序过滤和获取数据?
- express-graphql - 如何验证 graqhql 输入类型字段?
- java - Spring Boot:提交响应后无法创建会话
- php - 如何在codeigniter中上传多个文件字段
- node.js - 使用 Node 解析短信
- java - 如何在android中为对话框设置自定义高度和宽度
- linux - ST-Link 枚举失败 初始化 ST-LINK 设备时出错。原因:ST-LINK DLL 错误