想知道是否有办法使用PropertyPlaceholderConfigurer类根据属性文件中的值集动态实例化bean。
我有一个java bean说有两个属性的学生:“name”和“subject”
我有一个属性文件:
student.1.name=student1name
student.1.subject=student1subject
student.2.name=student2name
student.2.name=student2subject
现在我有一个可以列出学生列表的课堂对象。
我想知道我们是否有办法使用Spring来做到这一点。这里的挑战是学生人数可能会有所不同。
如果只有一个学生对象,那么:
<bean id="student" class="com.abc.Student">
<property name="name" value="${student.1.name}" />
<property name="subject"
value="${student.1.subject}" />
</bean>
<bean id="classRoom" class="com.abc.ClassRoom">
<property name="student" ref="student" />
</bean>
会起作用。但在这种情况下,我们有一个n学生名单。并且n的值可以根据属性文件中的条目数而变化。
答案 0 :(得分:0)
我认为使用PropertyPlaceholderConfigurer无法做到这一点。通常当我遇到这种情况时,我选择JSON或XML的配置格式,并使用GSON / Jackson / JAXB将数据解组为对象。
答案 1 :(得分:0)
我和凯文在一起 - 国际海事组织,你这样做是错误的。
一种可能的解决方法是创建一个bean,它将属性文件作为参数,读入并公开学生列表(需要在某些上建立索引,如现有属性文件中的 n )。
然后教室bean可以使用该学生列表。
但是看起来你确实试图以尴尬的方式复制数据库的功能而没有数据库。