网上有很多方式获取ApplicationContext,但是实现都很麻烦。我在找了很久找到这种方式,so easy!(web中获取)
import java.util.List;
import javax.servlet.ServletContext;
import org.activiti.engine.delegate.DelegateTask;
import org.activiti.engine.delegate.TaskListener;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;
import com.lifeng.jk.domain.SysUser;
import com.lifeng.jk.service.SysUserService;
/**
* @author lifeng
*
*/
public class ZjlListener implements TaskListener{
@Override
public void notify(DelegateTask delegateTask) {
<strong><span style="color:#ff0000;">WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();//重点</span></strong>
ServletContext servletContext = webApplicationContext.getServletContext(); //
SysUserService sysUserService = (SysUserService) webApplicationContext.getBean("sysUserServiceImpl");
List<SysUser> sysUsers = sysUserService.findByJobsCode("zjl");
for (SysUser sysUser : sysUsers) {
system.out.println("");
}
}
}