前言,Spring管理实务,Hibernate控制持久层,Struts控制action层
一,Spring和hibernate的整合
导入Hibernate的jar包,在Hibernate文件夹下的 lib的required文件夹下。
导入Spring的jar包,在Spring的文件夹自行找(以上两个框架请自行上网下载
1、导入hibernate的包和Spring的包
1.1、导入Spring的依赖包
1.2、导入Log4j的依赖包
1.3、导入dbcp的依赖包
1.4、导入Hibernate4的依赖包(require文件中的所有,slf4j-api.jar,jpa文件夹中的包)
二,写spring的beans.xml。
使用spring来管理hibernate最主要的就是让Spring来管理SessionFactory。
三、在beans.xml中加入spring的事务控制代码
集成hibernate3和4有一定的区别,一下的内容以分开写
Hibernate3:beans.xml
Hibernate4:beans.xml:
其实都差不多,只是有小部分改动,三跟四就改那个HibernateTemplate模板类。
然后只是我在4的aop提高了点性能而已,不是每个方法都加入事务管理
这里还要提到一点就是session的关闭,之前单用Hibernate要自己关闭session,由于
延迟加载的问题,就会导致报session已关闭的错误,所以我们可以在视图层关闭
session(Spring的OpenSessionInView,
1、在表示层开启Session
需要在表示层获取Spring的工厂,以此获取Hibernate的SessionFactory
2、在DAO层获取表示层的session
如果希望在DAO层获取表示层的数据,应该将要获取的数据存储到ThreadLocal
3、当整个过程执行完毕之后再关闭session
3.1需要通过Filter来解决问题
3.2通过ThreadLocal来处理session
我就不贴代码了
好了,下面是Struts2的了
在上面 的基础上,我们来整合Struts2
首先,导Struts2的包,在src下建一个Struts的xml文件
1、导入Struts2的包(导入之后检查一下是否存在有冲突的包)
2、导入Struts2和Spring的整合包(struts2-spring-plugin-2.3.24.jar,在Struts的lib中找)
3、配置Struts2的struts.xml文件
4、创建action
/**
* 此时等于用Spring来创建了userAction对象,在struts的配置文件中写action的
*class的时候
* 就不能写类,而应该是userAction中对象
* @author Administrator
*
*/
@Controller("userAction")
5、在web.xml中配置获取BeanFacotry的操作
OK测试的话,我就不演示了。本人也是新手,刚学,如有错误希望指教。这里把ssh三个框架的环境大概的搭建了起来。
不过最好的话还是用上Springmvc而不用Struts2(学完Springmvc后的个人感觉
在测试过程中会遇到各种奇奇怪怪的错误。慢慢找,谷歌百度,关于这篇文章,有问题也可以跟我讨论,guin_guo@yahoo.com
. ---------------------------------------------------------------转载无需注明出处 by guin_guo