注入多个EJB

时间:2016-01-15 16:56:46

标签: java java-ee ejb

我有一个工作流类,我正在使用@EJB标记在我的类顶部注入几个EJB:

@Stateless
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public class WorkflowBean {

   @EJB
   private BeanOne beanOne;
   @EJB
   private BeanTwo beanTwo;
   @EJB
   private BeanThree beanThree;
   @EJB
   private BeanFour beanFour;
   @EJB
   private BeanFive beanFive;
   @EJB
   private BeanSix beanSix;

是否有一种更好,更有条理的方式在我的代码顶部注入这些内容,可能在一条线路上?代码工作得非常好,但我认为在代码完成时我将添加更多的bean,我觉得它开始导致我的代码看起来混乱。

1 个答案:

答案 0 :(得分:2)

这样做并没有什么本质上的错误,但它可能会有点混乱。

如果您可以根据业务行为识​​别行为并将其组合在一起,则可能会减少@EJB注释的数量。例如,如果beanOne,beanTwo和beanThree都与用户管理相关,那么您可以创建一个userManagement bean,将其注入那里,然后只在工作流bean中注入一个userManagement bean。它也可能有助于自我记录。

恕我直言,你的工作流bean应该只是调用封装业务逻辑的其他bean,而不是试图在这里定义它。