java - 从 Spring Boot 中的 application.properties 读取泛型类型
问题描述
我在 application.properties 文件中有以下格式的地图
# map element 1
app.mymap.mykey1.myobject1.myvariable1 = 7.144
app.mymap.mykey1.myobject1.myvariable2 = 4
app.mymap.mykey1.myobject2.myvariable3 = somestr
# map element 2
app.mymap.mykey2.myobject1.myvariable1 = 1.22
app.mymap.mykey2.myobject1.myvariable2 = 5
app.mymap.mykey2.myobject2.myvariable3 = someotherstr
这是 Java 中的配置属性读取部分:
@Component
@ConfigurationProperties(prefix = "app")
public class AppProperty {
private Map<String, MyObject> mymap = new HashMap<>();
public Map<String, MyObject> getMymap() {
return mymap ;
}
}
我的问题是:我在 MyObject 类中有一个通用变量。所以我需要定义 MyObject 并解析类型 T 的特定设置。(因为某些类型有额外的设置)
public class MyObject<T> {
private MyObject1<T> myobject1; // THAT'S PROBLEMATIC PART
private MyObject2 myobject2;
如何使用泛型类型来实现这一点?还是我应该彻底改变我的设计?(比如使用 MyInterface 而不是 MyObject 并尽可能将 application.properties 读入该接口)
解决方案
推荐阅读
- python - 制作scrapy.Request确定性?
- python - 如何使用 anaconda 将 pytorch 版本从 0.4 降级到 0.31?
- reactjs - 如果将函数(返回随机图像 url)作为 uri 参数传递并且状态发生更改,则反应原生更改图像
- java - 将查询结果从一个数据库的多个连接表复制到另一个数据库的最佳实践?
- php - 如何在 laravel 中创建一个自动函数?
- google-chrome - 将 UI5 资源升级到 1.54 后,在本地引导 SAPUI5 应用程序会引发错误
- jquery - 我无法得到这个改变宽度以运行不止一次的 jQuery 动画
- sql-server - 实体框架 6 <-> SQL Server 2016 <-> ConcurrencyCheck 的字段 DateTime
- python - 无法使用 docker-compose up 运行服务器
- javascript - 如何使用 Jest 和 Enzyme 为简单的 React 组件编写测试用例