java - 计算和初始化外部配置属性
问题描述
我在中定义了以下属性application.properties
test.key1=value_1,value_2
test.key2=value_3,value_4
并将属性检索为
@ConfigurationProperties("test")
class CustomPropLoader extends HashMap<String, List<String>>> {}
我可以使用上述方法注入所需的对象。但是我的要求是
反转上面的映射,然后使其在容器中的所有对象中可用,以启用通过 hashmap 键查找而不是搜索所有条目
我尝试执行以下操作:
@Service
class PropFetcher {
private CustomPropLoader customPropLoader;
private Map<String,String> transposedMap;
void PropFetcher(@Autowired CustomPropLoader customPropLoader){
this.customPropLoader = customPropLoader;
this.transposedMap = transposeValues(); // logic to transpose the hashmap entries
}
这似乎可行,但是由于 transposedMap 无法被模拟或注入,因此测试性较差。是否有更好的解决方案来在 bean 初始化期间反转值,这也是可单元测试的?
PS:我不喜欢@PostConstruct 功能。
谢谢
解决方案
推荐阅读
- node.js - 在角度节点multer中上传多个文件
- raspberry-pi - 如何在 Nerves 中设置 wlan0
- database - 如何创建带有添加其他组合框选项的表单?
- sql - SQL Plus 为 Oracle 复制命令将字符转换为字节
- php - 获取关联属性
- ruby-on-rails - 关于 Rails 请求“HTTP_REFERER”值的重定向问题
- progressive-web-apps - 工作箱未连接。是什么原因?
- javascript - 我是否偶然创建了一个全局状态?
- java - 在本地主机上使用 nanohttpd 作为服务器,如何在整个目录中提供静态 HTML 代码?
- c++ - SDL TTL_OpenFont 返回 NULL 而没有错误