Java 注入多个EJB

Java 注入多个EJB,java,jakarta-ee,ejb,Java,Jakarta 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标记在类的顶部注入了几个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,我觉得这开始导致我的代码看起来很凌乱。

这样做本身没有什么错,但可能会有点凌乱

如果您能够基于业务行为识别和分组行为,那么可能会减少@EJB注释的数量。例如,如果beanOne、beanTwo和BeantTree都与用户管理相关,则可以创建一个userManagement bean,将它们注入其中,然后只在工作流bean中注入一个userManagement bean。它也可能对自我记录有所帮助

IMHO,您的工作流bean应该只是调用封装业务逻辑的其他bean,而不是在这里尝试定义它