gpt4 book ai didi

annotations - EJB:类级注释有什么意义?

转载 作者:行者123 更新时间:2023-12-04 03:13:21 25 4
gpt4 key购买 nike

我正在阅读这本书,Pro JPA2:掌握 Java 持久性 API,但我没有像这个示例中那样了解类级注释的用处:

@EJB(name="cart", beanInterface=ShoppingCart.class)
public class ShoppingCartServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(true);
ShoppingCart cart = (ShoppingCart) session.getAttribute("cart");
//......
}
}

如果 cart 变量的值不会被自动注入(inject)到那里并且您必须初始化 var,那么放置 @EJB 有什么意义呢?你自己?如果没有该注释,代码是否也能正常工作?注释实际上做了什么?

我了解了其他类型注释的用处,比如当您将它放在方法或变量上时,它会自动注入(inject)内容。就在这里,在类级别,它看起来没用。

最佳答案

类级别 @EJB(或@Resource)定义您的 ShoppingCartServlet 依赖于某些 EJB,在您的情况下为“购物车”。如果您想从非托管上下文(如 POJO)访问 EJB,则需要它。在这种情况下,您必须进行 JNDI 查找以获得对 EJB 的引用,您可以使用 ejb-ref (ejb-local-ref) 描述符或类级别的 @EJB 注释来定义该引用。

关于annotations - EJB:类级注释有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12690957/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com