私はこの本Pro JPA2: Mastering the Java Persistance 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");
//......
}
}
カート変数の値がそこに自動注入されず、変数を初期化する必要がある場合、その @EJB を配置するポイントは何ですか。あなた自身?その注釈がなくても、コードは同じように機能しませんか? 注釈は実際に何をしますか?
メソッドまたは変数に配置すると、自動注入されるなど、他のタイプの注釈の有用性が得られます。ここだけ、クラスレベルでは、役に立たないように見えます。