我正在尝试编写一个 servlet 3.0 Web 应用程序,只是为了学习基本的 servlet 处理。通常我会使用 Spring 。
现在我有一个 servlet,它访问查询数据库的 DAO。现在,实例化 DAO 并使用它的最佳方法是什么?我最好的猜测是在 servlet 中拥有一个私有(private)属性,并在创建 servlet 时创建一个 DAO 实例。
但是,servlet 会被创建多次吗?
servlet 3.0 中是否有类似 springs 依赖注入(inject)的功能?
最佳答案
EJB 3 依赖注入(inject)使用起来非常简单。单个注释 @EJB 会导致声明的 bean 的注入(inject)。将 SomeDAO bean 注入(inject) Servlet 3.0 如下所示:
@WebServlet(name="Messenger", urlPatterns={"/Messenger"})
public class Messenger extends HttpServlet {
@EJB
SomeDAO someDAO;
}
注入(inject)的 SomeDAO bean 可以是接口(interface)或无接口(interface) View bean。只要该接口(interface)只有一个实现,它就会被注入(inject),无需任何仪式。
关于java - servlet 3.0 Web 应用程序中的依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17976304/