我用jeesite平台想开发一个学生提交作业给老师的工作流,工作流中通过任务监听器动态设置任务执行人(老师)框架是spring +spring mvc+ mybatis + mysql 任务监听器通过实现TaskListener接口的类并通过可视化工具中在老师TASK节点设置了create时调用该类
监听器的代码如下
1 @Component 2 @Service 3 public class Teacherlisten extends CrudService<StudentToTeacherDao, StudentToT eacher> implements TaskListener{ 4 private String userId; 5 private StudentToTeacher st; 6 private String assignee; 7 private static final long serialVersionUID = 1L; 8 @Override 9 public void notify(DelegateTask delegateTask){ 10 userId = delegateTask.getVariable("apply").toString(); 11 st=dao.findteacher(userId); 12 assignee=st.getTeacher(); 13 delegateTask.setAssignee(assignee); 14 } 15 } 16
下面为CrudService自动装配DAO的代码
1 @Transactional(readOnly = true) 2 public abstract class CrudService<D extends CrudDao<T>, T extends DataEntity<T>> extends BaseService { 3 4 /** 5 * 持久层对象 6 */ 7 @Autowired 8 protected D dao;
我的设想是通过调用DAO方法访问数据库查询学生对应的老师,然后将执行人设置为该老师,但是遇到的问题是自动装配DAO时 值为NULL,原因可能是监听器与Spring 加载时出问题,已经尝试过很多方法,最后使用JDBC实现的,但是mybatis的框架在这里没用上,希望大神能帮小弟一下,指点一下如何在监听器中能够将Spring与mybatis整合的DAO层引进来。