#spring #spring-boot #mapstruct #mapper
Вопрос:
Я пытаюсь внедрить свой картограф с помощью mapstruct, но spring не распознает боб.
Вот мой картограф
package com.api.gestioncartera.Services.Mappers;
import org.mapstruct.Mapper;
import org.springframework.stereotype.Component;
import com.api.gestioncartera.Entities.CollectionCompany;
import com.api.gestioncartera.Services.DTO.CollectionCompanyDto;
@Mapper(componentModel = "spring")
public interface CollectionCompanyMapper {
CollectionCompanyDto collectionCompanyToCollectionCompanyDto(CollectionCompany collectionCompany);
}
Есть мой сервис, где я пытаюсь его внедрить
@Service
@Transactional
public class CollectionCompanyServiceImp implements CollectionCompanyService{
@Autowired
private CollectionCompanyMapper companyMapper;
}
Моя конфигурация gradle
plugins {
id 'org.springframework.boot' version '2.5.6'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
}
...
dependencies {
...
implementation 'org.mapstruct:mapstruct:1.4.2.Final'
annotationProcessor 'org.mapstruct:mapstruct-processor:1.4.2.Final'
}
compileJava {
options.compilerArgs = [
'-Amapstruct.suppressGeneratorTimestamp=true',
'-Amapstruct.suppressGeneratorVersionInfoComment=true',
'-Amapstruct.verbose=true',
'-Amapstruct.defaultComponentModel=spring'
]
}
Я также включаю включить обработку аннотаций в свойствах среды
разработки в среде разработки
Ошибка в том, что:
Рассмотрите возможность определения компонента типа ‘com.api.gestioncartera.Services.Картографы.CollectionCompanyMapper» в вашей конфигурации.
Я заметил, что у меня нет плагина, ссылающегося на mapstruct, может быть, в этом проблема? Изображение:
Я использую набор инструментов Spring 4 (Eclipse) Gradle 6.8 SrpingBoot 2.5.6 Пожалуйста, помогите!!
Комментарии:
1. Вы проверили, что реализация для CollectionCompanyMapper создана правильно, выполните компиляцию в проекте и посмотрите
2. Как я могу это проверить?
3. Проверьте папку target/generated_sources
4. Я запускаю проект, комментируя inejction, и проверяю папку .Файл создан и пуст, MapStruct не создает реализацию
5. У меня нет папки «target/generated_sources»