【发布时间】:2015-06-17 00:58:28
【问题描述】:
假设我有这个属性文件:
students.bill.firstname=John
students.bill.lastname=Doe
students.bill.age=20
students.jim.firstname=Jim
students.jim.lastname=Wright
students.jim.age=21
.
.
.
我想要一个包含学生地图的 xml bean,其中学生的名字作为键。
对象示例:
学生.java
public class Student {
String firstname;
String lastname;
Integer age;
}
教室.java
public class Classroom {
Map<String, Student> students;
}
我正在寻找一种方法,可以说是从属性 students.bill.* 创建一个学生 bean 并将其添加到教室 bean 映射中。然后为students.jim.*制作一个并将其添加到教室bean地图中。我真的不想为每个学生创建一个 bean,然后将每个值都放入其中。
【问题讨论】:
-
我会直接做你提到的“为每个学生创建一个 bean”,它会非常快速且易于维护。
-
唯一不好的是,如果我想在未来添加一个新属性,我将不得不将它添加到属性和每个 bean 中,而不仅仅是属性和一个模板 bean跨度>
-
使用docs.oracle.com/javase/7/docs/api/java/util/…,然后解析键提取所有值。
-
说这些都是全局会话 bean。我将如何使用 propertyNames 来初始化它们?我是春天的新手。我会在哪里做这个逻辑?
标签: java spring dependency-injection spring-bean spring-properties