有兩種方法,我知道的,以獲得EJB實例:通過Context.lookup EJB3 - 通過注入和查找獲取bean - 有什麼區別,含義,陷阱?
什麼是通過@EJB註釋
- 依賴注入的servlet和EJB使用這兩種方法的區別,含義和陷阱?他們是一樣的嗎?依賴注入比查找更快嗎?關於事務處理和對象生命週期管理呢?
事情我知道的包括:
註釋
- 用servlet和和EJB只
- 語法方便
- 容器獨立
查找
作品- 可以在運行時以編程方式實例化EJB接口的不同實現。
- 從任何地方 - 例如,的POJO。
- 取決於命名容器的約定
這只是錯誤的。如果它是由容器注入的,這意味着你可以在測試中更容易注入它,例如'MyBean bean = new MyBean(); bean.injectedBean = new Mock()'。掛鉤查找更復雜,特別是如果代碼依賴於'New InitialContext()'。你如何爲測試返回特殊版本的上下文? – ewernli 2012-10-02 12:44:39