我需要访问 EJB 以在数据库上添加/删除对象,目前我的带注释的控制器(使用 spring)调用服务类,该服务类又调用外观来解决我的数据库请求。
我得到了这个例外:
警告:StandardWrapperValve [dispatcher]:PWC1406:servlet 调度程序的 Servlet.service() 在 br.com.CadmusWeb 的 br.com.CadmusWeb.service.ClienteService.novoCliente(ClienteService.java:21) 处抛出异常 java.lang.NullPointerException。 controller.LoginController.clienteNovo(LoginController.java:100) (标有 >> 异常指出的行)
我是使用 EJB 的新手
我的控制器:
@Controller
public class LoginController {
private ClientService cliServ;
public LoginController() {
this.cliServ = new ClientService();
}
@RequestMapping("clientMenu/clientNew.html")
public ModelAndView clientNew(HttpServletRequest request) {
Client cli = new Client();
cli.setName((String) request.getAttribute("clientName"));
>>cliServ.newClient(cli);
return new ModelAndView("clientMenuNew");
}
服务等级
public class ClientService {
@EJB
private ClientFacade clientFacade;
public void novoClient(Client cli){
>>clientFacade.create(cli);
}
public void deleteClient(Client cli){
clientFacade.remove(cli);
}
}
客户端外观
@Stateless
public class ClientFacade extends AbstractFacade<Client> {
@PersistenceContext(unitName = "WebProjectPU")
private EntityManager em;
@Override
protected EntityManager getEntityManager() {
return em;
}
public ClientFacade() {
super(Client.class);
}
}