Как передать значение для набора деревьев весной?

1

Как установить значение аргумента для TreeSet весной?

public class Trainer {
    String name;
    TreeSet<String> batches;
    public Trainer(String name, TreeSet<String> batches) {
        super();
        this.name = name;
        this.batches = batches;
    }
    @Override
    public String toString() {
        StringBuilder x=new StringBuilder();
        x.append("trainer:").append(name).append("\n");
        x.append("batches:\n");
        for(String a :batches)
        {
            x.append(a).append("\n");

        }
        return x.toString();
    }
}

//здесь находится файл конфигурации

<beans>
            <bean id="abc" class="Trainer">
            <constructor-arg value="asfsad"/>
            <constructor-arg>
            <set>
            <value>kasdaskdnas</value>
            <value>sjbdlsas;dkas</value>            
            </set>
        </constructor-arg>
        </bean>
        </beans>

Это вызывает исключение при попытке создания объекта для него, не может преобразовать значение аргумента конструктора типа [java.util.LinkedHashSet] в требуемый тип [java.util.TreeSet]:

Теги:
spring

2 ответа

4
Лучший ответ

Вы можете использовать util:set tag

<beans>
    <bean id="abc" class="Trainer">
        <constructor-arg value="asfsad" />
        <constructor-arg>
            <util:set set-class="java.util.TreeSet">
                <value>kasdaskdnas</value>
                <value>sjbdlsas;dkas</value>
            </util:set>
        </constructor-arg>
    </bean>
</beans>
  • 0
    Что на самом деле делает этот тег утилит?
  • 0
    позволяет указать заданный класс
Показать ещё 2 комментария
0

Вы можете управлять реализацией Set который будет использоваться для вашего Sring-управляемого набора, используя атрибут set-class.

Что-то вроде этого: <set set-class="java.util.TreeSet">

Ещё вопросы

Сообщество Overcoder
Наверх
Меню