工具类中注入Dao层Bean
利用手动注入Dao层对象Bean,解决自动注入@Autowired注入对象为null 的问题:
@Component //把普通pojo实例化到spring容器中
public class MyCanvasUtils{
public static MyTaskDao myTaskDao;
static {
// 获取当前的spring容器ApplicationContext
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
// 获取Spring容器中已初始化的SqlSessionFactory
SqlSessionFactory sqlSessionFactory = (SqlSessionFactory) wac.getBean("sqlSessionFactory");
myTaskDao = sqlSessionFactory.openSession().getMapper(MyTaskDao.class);
}
/**
* 普通方法(也可以使用静态方法,经初始化方法放入静态代码块中)
* @param activityId
* @param processId
* @return
*/
public static Map getAssigneeInfo(String activityId,String processId){
// 调用方法
Map<String, Object> assigneeInfoMap = myTaskDao.getAssigneeByAct(activityId,processId);
return assigneeInfoMap;
}
}
spring配置sqlSessionFactory
<bean id="sqlSessionFactory" class="org.tansun.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:mybatis-config.xml"></property>
</bean>