【发布时间】:2021-10-30 12:15:15
【问题描述】:
如何将数据从单个 YAML 文件映射到多个 bean 对象?我正在使用 snakeyaml
**variables.yml:**
Apple:
A1: a1
A2: a2
Mango:
M1: m1
M2: m2
**Java Model Classes:**
Apple apple = new Apple(a1, a2);
Mango mango = new Mango(m1, m2);
Fruit fruit = new Fruit(apple, mango);
现在我可以得到如下个人数据:
InputStream inputStream = new FileInputStream(new File("variables.yaml"));
Yaml yaml = new Yaml();
Map<String, Object> yamlMaps = yaml.load(inputStream);
Map<String, Object> appleData = (Map<String, Object>) yamlMaps.get("Header");
Map<String, Object> mangoData = (Map<String, Object>) yamlMaps.get("Content");
但我想将这些数据加载到 Fruit 对象中。
【问题讨论】:
-
@tgdavies 是的!我尝试使用 TypeDescription,但它给出了一个错误:“Cannot create property=Header for JavaBean=Fruit”
标签: java spring-boot yaml