Основная проблема (с которой я столкнулся) - это когда вы используете ConversionServiceFactoryBean
для сборки conversion service
, которая включает в себя также конвертеры, использующие conversion service
, что вы получаете ошибку из-за метода ConversionServiceFactoryBean.getObject
, который предоставляет экземпляр conversion service
вызывается до ConversionServiceFactoryBean.afterPropertiesSet
, где этот экземпляр службы преобразования фактически создается.
Итак, , чтобы избежать такого поведения , вам просто нужно , чтобы создать conversion service
до того, как ConversionServiceFactoryBean.getObject
называется . Я сделал это в конструкторе класса, который расширяет ConversionServiceFactoryBean
.
Пример:
try {
Field serviceField = ConversionServiceFactoryBean.class.getDeclaredField("conversionService");
conversionServiceField.setAccessible(true);
conversionServiceField.set(this, createConversionService());
} catch (NoSuchFieldException | IllegalAccessException fieldAccessError) {
fieldAccessError.printStackTrace();
//or do some log output here, it's up to you
}
Чем вы можете использовать конвертеры, которые также используют conversion service
.
Надеюсь, это поможет.