@EJBアノテーションを使用したインジェクションは、EJBクラス、サーブレット、またはJSFマネージドBeanでのみ可能であることがわかっていますが、同時にいくつかのインスタンスを注入する必要がありますPOJOクラスのビジネスインタフェースは、私は、次のやって考える:POJOでのEJBインジェクションの使用
@EJB BusinessInterfaceLocal businessInterface;
private void someMethod(){
PojoInterface pojo = new PojoClass(this.businessInterface);
}
を管理し、私のJSFで
豆を、私のPOJOクラスで私は、このコンストラクタを持って
BusinessInterfaceLocal businessInterface;
public PojoClass(BusinessInterfaceLocal businessInterface){
this.businessInterface = businessInterface;
//The following throws a Null Pointer Exception
this.businessInterface.someMethodCall();
}
べきではありませんその上記は正しく動作しますか? PojoClassのbusinessInterfaceオブジェクトはnullに評価され、したがってNULLポインタ例外がスローされます。
私が間違っていることを誰かが指摘してくれるのであれば、私は期待していました。
ありがとうございます。
注入が正常に動作するためには、注入が起こるように@Statelessのようなクラスを宣言する必要があります。私たちが見ることができるようにクラス全体を提供することはできますか? – david99world
問題はビジネス・インターフェースでは使用できません。別の場所で使用できますが、ステートレス・アノテーションで実際に注釈が付けられていて、実装されているインターフェースにはローカルで注釈が付けられますが、プレーンなクラスで –
*正確に*は 'NullPointerException'がスローされますか?あなたが言っているライン上か、スタックのどこかで深いところにありますか? –