spring-ws サービスを含む大きな Spring アプリケーションを「継承」しました。
このサービスは、典型的な Spring-WS コードです。
package service;
@Endpoint
public class ServiceEndpoint {
@Resource EntityDao entityDao;
@PayloadRoot(localPart=...)
@ResponsePayload
public ResponseWrapperClass getServiceMethod(@RequestPayload RequestWrapperClass request) {
return new ResponseProcessorClass(request).generateResponse();
}
}
サービスは大規模で、 @Resource アノテーションが注入された entityDao がクラスで広く使用されています。
私が取り組んでいる特定のメソッドは少し複雑なので、サブパッケージ内の別のクラスにカプセル化しました。
ResponseProcessorClass は次のようになります。
package service.business;
@Component
public class ResponseProcessorClass {
@Resource EntityDao entityDao;
public ResponseWrapperClass generateResponse() {
entityDao.getSomeData(); //encapsulates hibernate logic -> Null Pointer Exception
}
}
上記のコメントからわかるように、新しいクラスで @Resource アノテーションを使用すると、Null Pointer Exception が発生します。
以前にこの注釈を使用したことはありませんが、ドキュメントから理解したところでは、型を推測して注入する必要があります。XMLファイルにも構成が見つかりませんでした。
なぜNPEを取得しているのか誰か教えてもらえますか?