2012-09-25 167 views
0

客戶端永遠不能使用新運算符來獲取引用。那麼我們如何在沒有任何內存引用的情況下調用業務邏輯。我沒有清楚。請用例子來解釋。@EJB中的依賴注入

回答

1

正如您在主題dependency Injection in EJB中提到的那樣,您不必自己創建對象,就可以在注入的bean上調用業務方法。

以下是例子:

要注入一個會話Bean到另一個使用@EJB註釋:

@Stateless 
public class BookServiceBean implements BookService { 
    @EJB 
    private SearchService search; 

常見錯誤:你不能注入類在EJB 3.0,但只有接口。這在EJB 3.1

被改爲注入一個DataSource,隊列,連接工廠,郵件,SessionContext等,則需要@Resource註解:

@Stateless 
public class BookServiceBean implements BookService { 

    @Resource(mappedName="jndi/sample") 
    private DataSource ds; 

要使用的持久性,只要用@PersistenceContext註釋:

@Stateless 
public class BookServiceBean implements BookService { 
    @PersistenceContext 
    private EntityManager em; 

希望有所幫助!

+2

>這將在EJB 3.1中發生變化... - 這將*在EJB 3.1中不會改變,這在3年前已經在EJB 3.1中改變了;) –

+0

感謝您指出:) – Anshu