做外包用到了ibatis,想着想着应该话时间研究下这个框架了 .找了mybatis,spring,struts ,开始整合 .
经过了种种困难,解决了各种问题 ,又有种种新的问题出现,其实这之中就是自己学习的过程 .
当你访问一个struts中一个action时 ,也许会需要实例化service层或者dao层的实现类对象.这时候你试过用new吗?
哈哈我用过了,答案是没有用.
因为其中我的userdao实现类是继承了SqlSessionDaoSupport类,在main方法测试getsqlsession老是得到null.实在让人火大.
原因是这个sqlsession需要由spring动态注入.而sqlsession是dao层CRUD各种功能的入口.没有sqlsession就等于瘫痪了.
<!-- 实现类 -->
<bean id="crmUser" class="com.bookuu.crm.impl.CrmUserImpl">
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
action类:
package com.bookuu.crm.action;
import com.bookuu.crm.impl.CrmUserImpl;
import com.opensymphony.xwork2.ActionSupport;
public class passportAction extends ActionSupport{
private CrmUserImpl crmUser;
public passportAction() {}
public CrmUserImpl getCrmUser() {
return crmUser;
}
public void setCrmUser(CrmUserImpl crmUser) {
this.crmUser=crmUser;
}
public String execute() throws Exception {
crmUser.getUserList();
return "index";
}
}
两个crmUser
注意到了吗?这个一定要一直 不然这个实例就拿不到了 .希望走弯路的童鞋能比我幸运些