Java EJB没有注入

时间:2016-05-15 12:25:23

标签: java ejb

我的TestBean

@Stateless
public class TestBean implements TestLocal {
    public String getMessage(String name) {
        return "Test "+ name;
    }
}

我的界面

@Local
public interface TestLocal {
    public String getMessage(String name);
}

我在这里使用它

@EJB
private TestLocal testLocal;

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String result;=testLocal.getMessage("ASDASD");
    req.getSession().setAttribute("Test1",result);
    RequestDispatcher rd=req.getRequestDispatcher("Index.jsp");
    rd.forward(req,resp);
}

我在结果行上得到NullPointerException。

1 个答案:

答案 0 :(得分:-2)

EJB仅在托管bean中注入。当bean由一些注入容器管理时,例如通过JSF自己的@ManagedBean,CDI的@Named等,可以管理bean。您甚至可以在另一个EJB中注入EJB。您不能在非托管类中注入EJB。 我没有通过注射容器将您的课程视为管理课程。