【发布时间】:2015-09-18 04:46:12
【问题描述】:
鉴于这个类:
public class Node {
private final List<Node> children;
public Node(){
children = new ArrayList<>();
// possibly pre-populate the list here
}
public List<Node> getChildren(){
return children;
}
}
在 Spring 中创建带有子节点的节点的最佳方式是什么,其中一些子节点是由类定义的,而一些子节点应该是可配置的?
<bean id="node1" class="Node">
<property name="children">
<add-item><bean class="Node"/></add-item> <!--pseudocode-->
<add-item><bean class="Node"/></add-item> <!--pseudocode-->
</property>
</bean>
我在 Spring IoC 文档和论坛中找到的答案并没有让我满意,因为提议的解决方案涉及不同程度的开销:附加映射 bean、工厂方法、要继承的抽象 bean,……难道没有更多的东西优雅吗?
【问题讨论】: