Spring Framework Converter - обходной путь для нескольких похожих конвертеров - PullRequest
0 голосов
/ 08 октября 2018

Я не мог придумать аккуратного и исчерпывающего названия для моей проблемы.Поэтому я постараюсь быть максимально понятным.В xml весенней конфигурации интеграции у меня есть все bean-компоненты (классы), которые нужно внедрить, когда Менеджеру конверсий нужно создать экземпляр для преобразования.На самом деле у меня есть два класса преобразования:

class MyClass implements Converter<ConversionSourceWrapper<FromTypeClass>, ToTypeClass> 

и

class AnotherClass implements Converter<ConversionSourceWrapper<FromAnotherTypeClass>, ToTypeClass> {

, где ToTypeClass - один и тот же класс.Когда я прихожу к вызову первого, Spring вместо этого создает экземпляр второго, потому что он распознает только один из них, являющийся конвертером одного типа, с разным только T (ConversionSourceWrapper ).

IЯ пытался создать абстрактный класс, чтобы расширить класс преобразователя, но это не рабочий обходной путь.Не могу придумать другого решения.Любой совет?

РЕДАКТИРОВАНИЕ Я решил это, создав класс TypeClassSourceWarapper, который расширяет ConversionSourceWrapper.Таким образом, код становится следующим:

class MyClass implements Converter<TypeClassSourceWarapper, ToTypeClass>

При этом ConversionManager видит другой тип конвертера и теперь знает, какой использовать.

...