RemoteStatisticServiceというインターフェイスを注入したいのでJavaの注入に問題がありますが、この場合NullPointerExceptionというエラーが返され続けます。私はthisにinit()メソッドと@PostConstructを実行しようとしましたが、私には同じエラーが表示されます。ここインターフェイスのインジェクションCDIが返されるNullPointerException
MeasurementAspectServiceクラスのコードされている:
import javax.annotation.PostConstruct;
import javax.inject.Inject;
import *.dto.MeasureDownloadDto;
import *.dto.MeasureUploadDto;
import *.rs.RemoteStatisticService;
public class MeasurementAspectService {
private @Inject RemoteStatisticService remoteStatisticService;
public void storeUploadDto(MeasureUploadDto measureUploadDto) {
remoteStatisticService.postUploadStatistic(measureUploadDto);
}
public void storeDownloadDto(MeasureDownloadDto measureDownloadDto) {
remoteStatisticService.postDownloadStatistic(measureDownloadDto);
}
@PostConstruct
public void init() {
}
}
ここでは、すべてのヘルプが理解されるインタフェースクラスRemoteStatisticService
import static *.util.RemoteServiceUtil.PRIV;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import *.dto.MeasureDownloadDto;
import *.dto.MeasureUploadDto;
@Path(PRIV + "stats")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public interface RemoteStatisticService {
@POST
@Path("upload")
void postUploadStatistic(MeasureUploadDto mud);
@POST
@Path("download")
void postDownloadStatistic(MeasureDownloadDto mdd);
}
するためのコードです。ありがとう
注射に有効であるためには、CDIプロバイダが処理するために '@ Named' Beanとしてマークする必要があります。 'Weld' – PDStat
この場合、どこに@Named beanを置くべきですか?私はMavenを使用していますが、まだCDIで新しいです –
クラスレベルで例えば。 '@Named public class MeasurementAspectService' – PDStat