[英]managed bean EJB injection
i'm having many managed beans and was wondering if i could create a UtilClass where i put my services calls (@EJB). 我有很多托管bean,想知道是否可以创建UtilClass来放置服务调用(@EJB)。 I've already tried it but i'm having a NullPointerException. 我已经尝试过了,但是我遇到了NullPointerException。 this is how my UtilClass and my managed bean look like: 这就是我的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;
}
}
I would suggest you to do the following, since apparently you are having a lot of services and want to have them grouped together, you can create an " abstract " bean and make your managed bean extend such " abstract " bean, in this way you can access the EJB's in a structural and safe way, the following code will explain what I mean: 我建议您执行以下操作,因为显然您拥有很多服务,并且希望将它们组合在一起,所以可以创建一个“ 抽象 ” 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 "";
}
}
Please refer to JavaEE5 EJB FAQ if you need to clarify more concepts on the matter. 如果需要澄清有关此问题的更多概念,请参考JavaEE5 EJB FAQ 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.