これはに依存しますApplicationContext
。実装はそれぞれ異なる可能性がありますが、結果がであると確信できますList
。アカウンティングドキュメント:
別のカスタム名前空間ユーティリティは、リストを作成するためのものです。最初のBean定義は、少し短くて読みやすいことを除いて、ListFactoryBeanの例と同じです。2番目のBean定義は同じですが、list-class属性を使用して、使用するList実装を指定する点が異なります。list-class属性が使用されていない場合、ApplicationContextは実装クラスを選択します。
<util:list id="messageUtilList">
<ref bean="stringMessage01"/>
<ref bean="stringMessage02"/>
<value>Spring is fun to learn.</value>
</util:list>
<util:list id="messageUtilLinkedList"
list-class="java.util.LinkedList">
<ref bean="stringMessage01"/>
<ref bean="stringMessage02"/>
<value>Spring is fun to learn.</value>
</util:list>
の実装をListFactoryBean
確認するArrayList
と、特定のリストタイプが指定されていない場合にインスタンス化されるデフォルトのリスト実装であることがわかります。このタスクを実行するコードは次のとおりです。
if (this.targetListClass != null) {
result = (List) BeanUtils.instantiateClass(this.targetListClass);
}
else {
result = new ArrayList(this.sourceList.size());
}