Пружинная загрузка Orika Mapper не отображается, когда я определяю CustomMapper - PullRequest
0 голосов
/ 17 января 2020

У меня следующая структура:

Контроллер (классы моделей) -> сервис -> (доменные классы), репозиторий.

Это то, что я делаю на уровне сервис когда мне нужно сохранить что-то, поступающее в тело запроса:

  • Сопоставить класс модели (исходя из запроса тела) с классом домена (пытается использовать Orika)
  • Сохраните класс домена и после получения подтверждения от БД
  • сопоставьте класс домена, сохраненный в БД, с классом модели (Пытается использовать Orika)
  • верните ответ контроллеру

Это то, что у меня пока есть, но оно не работает:

@Component
public class CustomMapper extends ConfigurableMapper {
private MapperFactory factory = new DefaultMapperFactory.Builder().build();

@Override
protected void configure(MapperFactory factory) {
    System.out.println("Spring boot mapper initializing.....");
    factory.classMap(ModelSource.class, ModelDestination.class)
            .byDefault()
            .register();

}

Я вижу сообщение «Spring boot mapper initialization .....», работающий при загрузке пружины, так что означает, что компонент загружается нормально.

@Autowired
private CustomMapper mapperFacade;

ModelDestination destination = mapperFacade.map(ModelSource.class, ModelDestination.class);

Когда я проверяю все поля назначения, все они равны нулю. Что я делаю неправильно? Спасибо

1 Ответ

0 голосов
/ 18 января 2020

Использование последней версии Orika 1.5.4. Это исправило мою проблему:

            .field("chain{}", "chain{}")
...