Ich habe einen Mapper sein sollte der Feder Komponente Klasse und normale Klasse für konvertieren Felder verwenden.wie Federkomponente und normale Klasse zusammen in mapstruct verwenden?
Dieser Mapper in folgenden:
@Mapper(componentModel = "spring", uses = { ImagesConverter.class, DateTimeConvertor.class, IntEnumConverter.class,
DownloadModelHelper.class }, nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT)
public interface PictureMapper {
PictureMapper TRANSLATOR = Mappers.getMapper(PictureMapper.class);
@Mappings({ @Mapping(source = "picture.img", target = "downloadModel"),
@Mapping(source = "picture.id", target = "pictureId"),
@Mapping(source = "galleryPicture.id", target = "galleryPictureID") })
PictureModel entityToModel(Picture entity);
@Mapping(source = "pictureId", target = "picture")
Picture modelToEntity(PictureModel model);
List<PictureModel> entitiesToModels(List<Picture> entityList);
List<Picture> modelsToEntities(List<PictureModel> modelList);
}
ImagesConverter und Datetimeconverter ist federKomponentenKlasse Verwendung von @Component sein.
aber IntEnumConverter und DownloadModelHelper ist normale Klasse.
wenn Startfeder Boot folgende Fehlermeldung erhalten:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'pictureMapperImpl': Unsatisfied dependency expressed through field 'downloadModelHelper': No qualifying bean of type [ir.pt.discountnetwork.commons.tools.DownloadModelHelper] found for dependency [ir.pt.discountnetwork.commons.tools.DownloadModelHelper]: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations
wie Federkomponente zu verwenden, und die normale Klasse mit zusammen in mapstruct?
Ich denke DownloadModelHelper muss auch Frühling Komponente oder Bohne sein, aber ist das so? –
DownloadModelHelper ist normale Klasse in einem anderen Projekt.Kann keine @ Komponent Annotation zu dieser Klasse –
hinzufügen und Sie können dies in Ihrer Konfiguration als @bean downloadModelHelper.class verwenden –