Java EE 6 中的上下文和依賴注入
Java Platform, Enterprise Edition (Java EE) 5 將具有慣例優于配置的依賴注入 (DI) 引入 Enterprise JavaBeans (EJB) 3.0 中。除了已有的 EJB 3 依賴注入的使用極其簡單。使用 簡介
@EJB
批注之外,Java EE 6 還引入了靈活、強大的 @Inject
依賴注入模型(JSR-330 和 JSR-299)。配置 EJB 3 依賴注入
@EJB
批注即可注入一個已聲明的 bean。將 MessageSession bean 注入 Servlet 3.0 中如下所示: @WebServlet(name="Messenger", urlPatterns={"/Messenger"})
public class Messenger extends HttpServlet {
@EJB
MessageSession session;
// }
注入的 MessageSession
bean 可以是接口視圖 bean,也可以是無接口視圖 bean。只要僅存在接口的一個實現,便可注入該 bean 而無需任何形式。需要配置只是為了明確選擇。@Stateless
@Local(MessageSession.class)
public class PersistentMessageSession implements MessageSession{
@Override
public String getReceivedMessage() {
return "From persistent. Received at: " + new Date();
}
}
@Stateless
@Local(MessageSession.class)
public class TransientMessageSession implements MessageSession {
//...implementation
}</pre>
</p></span></p></span>