我有一个工作流类,我正在使用@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,我觉得它开始导致我的代码看起来混乱。
答案 0 :(得分:2)
这样做并没有什么本质上的错误,但它可能会有点混乱。
如果您可以根据业务行为识别行为并将其组合在一起,则可能会减少@EJB注释的数量。例如,如果beanOne,beanTwo和beanThree都与用户管理相关,那么您可以创建一个userManagement bean,将其注入那里,然后只在工作流bean中注入一个userManagement bean。它也可能有助于自我记录。
恕我直言,你的工作流bean应该只是调用封装业务逻辑的其他bean,而不是试图在这里定义它。