java - servlet 3.0 Web 应用程序中的依赖注入(inject)?

标签 java servlets servlet-3.0

我正在尝试编写一个 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/

相关文章:

java - 将主页重定向到前端 Controller

java - 更改请求的正文

java - 使用 servlet 3.0 的 JBoss 6 session 安全特性的问题

servlets - 在 MultipartConfig 中不提及位置有什么缺点?

java - 我如何知道是使用标准 Java 网络还是 Java RMI?

java - 为输入的每个字符分配一个值并显示输入的值

java - 为什么我的列表没有在 JAXB 中序列化?

java - 创建一个 Flash 游戏机器人

Tomcat 7 session cookie 路径

java - 上传文件名包含 unicode 字符的文件将不起作用