Подтвердить что ты не робот

Spring: Как добавить ENUM в конфигурацию Spring с помощью дженериков?

У меня есть класс вроде этого:

public class CheckSetFilter<E extends Enum<E>> 
{
   public CheckSetFilter(CheckSetManager<E> pCheckSetManager, E pCheckSetId)
}

У меня есть это перечисление:

public enum StubCheckId
{
   STUBCHECK1, STUBCHECK2
}

Я пытаюсь создать такой объект с помощью Spring:

<bean id="checkSetFilter" class="com.iba.icomp.core.checks.CheckSetFilter">
   <constructor-arg ref="checkSetManager"/>
   <constructor-arg value="STUBCHECK1"/>
</bean>

Он жалуется, что он не может преобразовать из String в Enum. Думаю, это из-за общего. Он не может знать тип перечисления для создания. Я также попытался дать ему подсказку типа, но не повезло.

4b9b3361

Ответ 1

Все, что вам действительно нужно сделать, - добавить тег value внутри тега constructor-arg.

<bean id="checkSetFilter" class="com.iba.icomp.core.checks.CheckSetFilter">
    <constructor-arg ref="checkSetManager"/>
    <constructor-arg>
        <value type="your.package.StubCheckId">STUBCHECK1</value>
    </constructor-arg>
</bean>