2016-01-15 164 views
1

我有一個工作流程課堂,我使用@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,並且我認爲它開始導致我的代碼看起來混亂。

回答

2

這樣做沒有任何內在的錯誤,但它可能會有點混亂。

如果您可以根據業務行爲識​​別並組合行爲,則可能會減少@EJB註釋的數量。例如,如果beanOne,beanTwo和beanThree都與用戶管理有關,則可以創建一個userManagement bean,將它們注入到那裏,然後只在工作流bean中注入一個userManagement bean。它也可能有助於自我文檔。恕我直言,你的工作流bean幾乎應該調用封裝業務邏輯的其他bean,而不是試圖在這裏定義它。

+0

感謝邁克 - 我會研究這種方法來清理我的代碼 – schuno