[英]managed bean EJB injection
我有很多托管bean,想知道是否可以創建UtilClass來放置服務調用(@EJB)。 我已經嘗試過了,但是我遇到了NullPointerException。 這就是我的UtilClass和托管bean的樣子:
public class UtilClass{
@EJB
private static MyFirstEjbLocal myFirstService;
@EJB
private static MySecondEjbLocal mySecondService;
//other services
//getters
}
public class MyManagedBean{
public String myMethod(){
UtilClass.getMyFirstService.doSomethingInDB();
return null;
}
}
我建議您執行以下操作,因為顯然您擁有很多服務,並且希望將它們組合在一起,所以可以創建一個“ 抽象 ” bean,並使托管bean擴展這種“ 抽象 ” bean,這樣您就可以可以以結構化和安全的方式訪問EJB,以下代碼將解釋我的意思:
public class MyAbstractBean{
@EJB
protected MyFirstEjbLocal myFirstService;
@EJB
protected MySecondEjbLocal mySecondService;
// All your other EJB's here
...
// All other variables and methods you could need
}
public class MyManagedBean
extends MyAbstractBean{
public String myMethod1(){
myFirstService.doSomethingInDB();
return "";
}
public String myMethod2(){
mySecondService.doSomethingInDB();
return "";
}
}
如果需要澄清有關此問題的更多概念,請參考JavaEE5 EJB FAQ 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.