PlatformTransactionManager 实现配合,在方法调用前后实施事务。
d 例子配置文件PROPAGATION_REQUIREDPROPAGATION_REQUIREDreadOnlyuserdao4 proxyTemplate不用事务,即使报错也始终能插入进去一条。
用了事务,一报错则一条都不进去。
配置完成前,将 defaultAutoCommit 设成 false 后,始终插入不进去。
配置完成后,将使用声明式事务能插入进去了。
9. sql 提高,修改 UserDao// executeFind 返回集合public List query return this.getHibernateTemplate.executeFindnew HibernateCallback public Object doInHibernateSession session throws HibernateException SQLException return session.createQuery from cls.getName as a order by a.uid desc.list // execute 返回对象public boolean validatefinal Users u List ls List this.getHibernateTemplate.execute new HibernateCallback public Object doInHibernateSession session throws HibernateException SQLException Query qy session .createQueryfrom Users u where u.uid:uid and u.pwd:pwd qy.setStringuid u.getUid qy.setStringpwd u.getPwd List li qy.list return li return ls.size 0三、spring 整合 struts 1. 在 struts-config.xml 中新建 login 用例 form/action/
jsp,use caselogin 2. 写代理 UserDelegate,有保存、验证、查询所有的记录三个方法 源代码public class UserDelegate //一定要是 IDao 而不是 UserDao,因为有了事务,自动代理将截获后返回的是 IDaoprivate IDao daopublic void setDaoIDao dao this.dao daopublic boolean validateString uidString pwd return dao.validateuid pwdpublic List getAll return dao.getAllpublic void saveUsers u dao.saveu 配置文件 3. 加上跳转页面 新增 succ.
jsp succ 对应 succ.
jsp,fail 对应 login.
jsp 4. 引入 IOC,在 action 中引入代理 修改 LoginAction private UserDelegate udpublic void setUdUserDelegate ud this.ud ud 5. 在 action 中写上登陆验证代码 String uid loginForm.getUid String pwd loginForm.getPwd ifld.validateuid pwd return mapping.findForwardsucc return mapping.findForwardfail 6. 在 struts 中引入 spring 在 struts-config.xml 中注册,引入 spring 的插件,在 message-resources 标签后: 7. 让 spring 管理 struts 的 action,有三种方式 1 最简单的一种,改变其请求处理器: 2 在 struts 的 action 中直接继承 spring 的一个 ActionSupport 3 改 action 的配置中的 type,换成 spring 的一个代理,这个每个 action 都要改,比较麻烦 8. 采用第一种方式 在 spring 的 applicationContext.xml 中注册 struts 的 action 其 name不能是 id对应于 struts-config.xml 中的 path四、部署运行 1. 发布 2. 如果导入 spring 时,没有选中 web 的 jar 包,则集成到 struts 会出错 3. 测试一切正常 4. 将 applicationContext.xml 放到与 web.xml 平级目录 修改 struts-config.xml 的配置,改路径 再测试一切正常 5. 将与 struts 的集成改成第一种方式 改标签的 type 加 再测试一切正常 6. 看日志,session 的开闭http-8080-Processor25 DEBUGorg.springframework.orm.hibernate3.SessionFactoryUtils - Opening Hibernate Session...http-8080-Processor25 DEBUG org.hibernate.impl.SessionImpl - closing session
上一篇:
鸟哥linux+韩顺平linux视频教程学习小结
下一篇:
首鼠两端