Как я могу использовать пружинную инъекцию, класс репозитория в сопоставителе карт?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как я могу использовать пружинную инъекцию, класс репозитория в сопоставителе карт?

Сообщение Anonymous »

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

@Data
public class FilesDTO {

private int issue;
private String uniqueStr;
private StorageDomain xml;
private StorageDomain pdf;
private StorageDomain stop;
}
@Data
public class BackHalfDomain {
private int articleId;
private String uniqueStrr;
private long xmlContentId;
private long pdfContentId;
private long stopId;
private int issueNumber;
}
Используя класс репозитория, мне нужно получить объект StorageDomain по идентификатору в BackHalfDomain. Поэтому мне нужно сопоставить объект StorageDomain с соответствующими полями.
например, StorgeDomain sd = repo.findById(id).get(); и установить этот объект sd в XML-поле FilesDTO и так далее.
Это мой сопоставитель

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

@Mapper(componentModel = "spring")
public interface FilesDTOMapper {

public static final FilesDTOMapper fileDTOMapper = Mappers.getMapper(FilesDTOMapper.class);

@Mapping(target = "issue", source = "domain.issueNumber")
@Mapping(target = "DOI", source = "domain.doi")
public FilesDTO map(BackHalfDomain domain);

}
Я использовал, но безуспешно.
Я использовал @Mapping(target="xyz", выражение="java(repo.findById(id))")"
но все, что я получил, это исключение NullPointerException
Внедрение Spring не работает.
Может ли кто-нибудь найти решение для этой проблемы? Я только начал с Mapstruct

Подробнее здесь: https://stackoverflow.com/questions/632 ... uct-mapper
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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