Переопределить реализацию списка или других коллекций по умолчанию в файле конфигурации Spring XML

Я заметил, что по умолчанию реализация списка в весеннем XML является ArrayList.

Я старался:

<bean id="employee" class="com.ioc.entity.Employee">
</property>
        <property name="list">
        <list value-type="java.lang.String">
        <value>ABC</value>
        <value>XYZ</value>
        </list>
        </property>
</bean>

Метод getClass() в этом списке возвращает java.util.ArrayList.

Есть ли какое-либо свойство или способ, которым мы можем переопределить эту реализацию списка по умолчанию (может быть это LinkedList или любой другой список, который я хочу) или любую другую коллекцию (например, map, set и т. Д.)?

1 ответ

Решение

Вы можете импортировать Spring util и использовать ссылку на список классов.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns:util="http://www.springframework.org/schema/util"
 xsi:schemaLocation="http://www.springframework.org/schema/beans
                     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
                     http://www.springframework.org/schema/util
                     http://www.springframework.org/schema/util/spring-util-2.5.xsd">

<bean id="employee" class="com.ioc.entity.Employee">
  <property name="list">
    <util:list id="myLinkedList" value-type="java.lang.String" list-class="java.util.LinkedList">
      <value>ABC</value>
      <value>XYZ</value>
    </util:list>
  </property>
</bean>
Другие вопросы по тегам