В чем ошибка, при сохранение в базу данных?

Подскажите что не так делаю Есть service, в котором пытаюсь реализовать сохранение данных о сотруднике и фото в локальную папку, сохранение фото пытаюсь вынести в отдельный метод, и при сохранение через репозиторий выдает ошибку 2021-11-15 22:52:04.107 WARN 24762 --- [nio-8080-exec-2] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException]

Сам код

@Service
public class EmployeeServiceImpl implements EmployeeService{

    @Autowired
    EmployeeRepository employeeRepository;

    @Autowired
    AttachmentRepository attachmentRepository;

    @Autowired
    EmployeeMappingUtils mappingUtils;


    SavingFileUtil savingFileUtil;


    @Override
    public List<EmployeesListResponseDto> getAllEmployees() {
        List<EmployeesListResponseDto> allEmployees =   employeeRepository.findAllActualHistoriesOfEmployees().stream() //создали из листа стрим
                .map(mappingUtils::convertToEmployeeDto) //оператором из streamAPI map, использовали для каждого элемента метод mapToEmployeeDto из класса MappingUtils
                .collect(Collectors.toList()); //превратили стрим обратно в коллекцию, а точнее в лист;


        if (allEmployees.isEmpty()) {
            throw new NoSuchEmployeeException("Employees is not in Database");
        }

        return allEmployees;
    }

    @Override
    public EmployeeCreatingDto saveEmployee(MultipartFile file, String data) {
        EmployeeCreatingDto employeeDto;
        AttachmentEntity attachmentEntity;


        //Десериализируем json в объект
        Gson gson = new DeserializeLocalDateTime().gsonDeserializeLocal();
        employeeDto = gson.fromJson( data , EmployeeCreatingDto.class);

        //Конвертируем Dto в Entity
        EmployeeEntity employeeEntity = mappingUtils.convertToEmployeeEntity(employeeDto);

        //Сохраняем сотрудника
        EmployeeEntity employeeResponse = employeeRepository.save(employeeEntity);

        // TODO Как сделать чтобы было от метода
        savingFileUtil.handleFileUpload(file, 1L);
        return null;
    }
}

и сама утилита для сохранения фото и создание о фото записи в БД

@Component
public class SavingFileUtil {
    //        TODO Как поступить с запросом пути, запросить через интерфейс репозитория?
    @Value("${upload.path}")
    private String uploadPath;

    AttachmentRepository attachmentRepository;

    public AttachmentEntity handleFileUpload(MultipartFile uploadFile, Long employeeId) {

            File uploadDir = new File(uploadPath);

            // Проверяем существует такая директория, если нет то создаем
            if (!uploadDir.exists()) {
                uploadDir.mkdir();
            }

            // Создаем рандомно имя вложению
            String uuidFile = UUID.randomUUID().toString();
            String resultFileName = uuidFile + "-" + uploadFile.getOriginalFilename();

        try {
            uploadFile.transferTo(new File(uploadPath + "/" + resultFileName));
        } catch (IOException e) {
            e.printStackTrace();
        }

        // Создаем запись в базе данных о вложение
            AttachmentEntity newAttachment = new AttachmentEntity();
            newAttachment.setFileName(resultFileName);
            newAttachment.setContentType(uploadFile.getContentType());
            return attachmentRepository.save(newAttachment);
    }
}

Ответы (0 шт):