Spring Generic (параметризованный тип) Служба преобразования?JAVA

Программисты JAVA общаются здесь
Anonymous
 Spring Generic (параметризованный тип) Служба преобразования?

Сообщение Anonymous »

Я пытаюсь создать универсальный преобразователь для пружины, который позволит входящим значениям enum быть смешанным корпусом и преобразован p>
Преобразование хорошо работает для любого конкретного типа перечисления, который мы используем, когда конвертер < /code> определяется для конкретного типа перечисления. Однако, когда я пишу это как общая пружина, никогда не вызывает кода. < /P>

Код: Выделить всё

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;

// Doesn't work, Spring doesn't appear to allow Converters with type parameters :-(
@Component
public class StringToEnumConverter  implements Converter {

@Override
public T convert(String string) {
Type type = ((ParameterizedType)StringToEnumConverter.class.getGenericSuperclass()).getActualTypeArguments()[0];
return (T) Enum.valueOf((Class)type, string.trim().toUpperCase());
}
}
< /code>
Код неверен или это то, что пружина не знает, как соответствовать типу во время выполнения? Я надеялся, что T Extends enum 
является достаточной информацией для Spring, чтобы отправить все подклассы Enum через>

Подробнее здесь: https://stackoverflow.com/questions/195 ... on-service

Вернуться в «JAVA»