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