在Servlet中使用注解的方式引用Spring bean对象,会报空指针,因此可以在init()方法中通过WebApplicationContextUtils.getWebApplicationContext(servletContext)获取Spring,
代码如下:
package zttc.itat.user.servlet; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import org.apache.log4j.Logger; import org.jbpm.api.RepositoryService; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; public class InitJbpmProcessServlet extends HttpServlet { private static final long serialVersionUID = 1L; //@Autowired //RepositoryService repositoryService; public InitJbpmProcessServlet() { super(); } public void init() throws ServletException { Logger logger = Logger.getLogger(this.getClass()); try { ServletContext servletContext = this.getServletContext(); WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext); RepositoryService repositoryService = (RepositoryService) ctx.getBean("repositoryService"); //流程部署 repositoryService.createDeployment().addResourceFromClasspath("leave.jpdl.xml").deploy(); logger.info("---流程加载结束---"); } catch (Exception e) { e.printStackTrace(); } } }
时间: 2024-11-04 15:25:23