Ошибка внедрения NullPointerException для класса аннотаций AspectJ Java

Я пытаюсь внедрить класс MeasurementService в класс аннотаций AspectJ с именем MeasurementAspect, но я получил ошибку NullPointerException и проверил, что в данном случае внедрение MeasurementService является нулевым. Затем сам введенный класс запускается в одном из советов.

Сам класс MeasurementAspect не имеет конструктора, поскольку я думаю, что в нем нет необходимости, и все рекомендации будут внедрены в соответствующие методы и выполнены автоматически.

Вот выдержка из MeasurementAspect (так как она слишком длинная, чтобы копировать все):

    @Aspect
    public class MeasurementAspect {
...   
    private @Inject MeasurementService measurementService;
    private final MeasureDownloadDto measureDownloadDto = new MeasureDownloadDto();
    private final MeasureUploadDto measureUploadDto = new MeasureUploadDto();

...

    @Around("execution(* *.storeFile(..))")
        public Object CalculateUploadMetadata(ProceedingJoinPoint joinPoint) throws Throwable {
            start = System.nanoTime();
            Object result = joinPoint.proceed();
            end = System.nanoTime();
            duration = end - start;
            setDurationUploadMetadata(duration);
            measureUploadDto.setDurationUploadMetadata(duration);
            System.err.println(
                    SDF.format(new Date()) + " Elapsed time for uploading meta data (ns) = " + getDurationUploadMetadata());
            System.err.println("measurementService" + measurementService);
            measurementService.storeUploadDto(measureUploadDto);
            durUploadEachChunk.clear();
            return result;
        }
...
}

Вот класс MeasurementService, который будет внедрен:

public class MeasurementService {

    private final RemoteStatisticService remoteStatisticService;

    @Inject
    public MeasurementService(RemoteStatisticService remoteStatisticService) {
        this.remoteStatisticService = remoteStatisticService;
    }

    public void storeUploadDto(MeasureUploadDto measureUploadDto) {
        remoteStatisticService.postUploadStatistic(measureUploadDto);
    }

    public void storeDownloadDto(MeasureDownloadDto measureDownloadDto) {
        remoteStatisticService.postDownloadStatistic(measureDownloadDto);
    }

}

Любая помощь приветствуется. Спасибо

ps: это все еще связано с моим другим вопросом ошибка NoAspectBoundException в конструкторе класса класса AspectJ с внедрением зависимостей, я надеюсь, что он может дать полную точку зрения на проблему


person Ihsan Haikal    schedule 19.05.2016    source источник
comment
Возможный дубликат Что такое нулевой указатель Исключение и как его исправить?   -  person Idos    schedule 19.05.2016
comment
Может быть, вы правы, но я все равно не мог понять, как решить мою проблему @Idos   -  person Ihsan Haikal    schedule 19.05.2016
comment
Я дал ответ на вашу проблему в вашем связанном вопросе. Это должно решить вашу проблему. stackoverflow.com/a/37345027/2699901   -  person Nándor Előd Fekete    schedule 26.05.2016
comment
@ NándorElődFekete Я уже ответил на твой ответ, не могли бы вы его проверить? Спасибо   -  person Ihsan Haikal    schedule 27.05.2016