Конфигурация маппера
@Component
public class ModelMapperFactoryBean implements FactoryBean<ModelMapper> {
@Autowired
private Collection<MapperConfigurer> configurers;
@Override
public ModelMapper getObject() {
final ModelMapper modelMapper = new ModelMapper();
if (!CollectionUtils.isEmpty(configurers)) {
configurers.forEach(c -> c.configure(modelMapper));
}
return modelMapper;
}
}
Пример конвертера
@Component
public class ModelConverter implements MapperConfigurer {
@Override
public void configure(ModelMapper modelMapper) {
modelMapper.addConverter(new AbstractConverter<ModelEntity, Model>() {
@Override
protected Model convert(ModelEntity source) {
return Model.builder()
.id(source.getId())
.name(source.getName())
.serverConfig(modelMapper.map(source.getServerConfig(), ServerProcessConfig.class))
.build();
}
});
}
}
Spring приложение, в котором ипользую маппер. Для каждых сущностей есть свой конвертер. Есть для Model. есть и для ServerProcessConfig.
При конвертации model я вызывают modelmapper и вызываю у него метод map чтобы сконвертировать вложенный объект, для которого тоже есть реализованный конвертер.
Соответственно, я ожидаю, что маппер будет использоваться его. Однако, очевидно маппер его не использвует(брекпоинт не срабатывает) а пробует преобразовать объект так, судя по всему, просто по сопостовлению полей.
Если попробовать просто (не в качестве вложенного объекта) преобразовать ServerProcessConfig, то реализованный для этого конвертер сработает как положенно.
Почему маппер не использует другие конверторы для вложенных объктов?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть большой массив, больше 64кб, я хочу закинуть его в ресурсы и юзать оттуда, как мне это сделать? Спасибо!
В проекте (SpringBoot 2+, thymeleaf) есть простой рест-контролер вида:
Я пытаюсь анимировать текст, который я создал и сохранил как SVGДо сих пор мне удавалось только оживить stroke, но это не то, что я хочу получить