SSH三大框架的搭建整合(struts2+spring+hibernate)(转)

时间:2024-10-06 17:35:20

原文地址:http://blog.****.net/kyle0349/article/details/51751913  尊重原创,请访问原文地址

SSH说的上是javaweb经典框架,不能说100%要会SSH框架,但是大部分公司都在用,说到框架,都会提到ssh吧,这次就以很简单的注册例子来整合SSH框架。整合框架要注意的是先每个框架单独测通后再整合,不然整合后出现问题比较难排查。 
环境:windows + MyEclipse + JDK1.7 + Tomcat7 + MySQL 
代码已经测通,如果有报错可能是我某些地方没描述清楚,请留言。

这次整合引入的jar包,( 不是最简的,有的包不一定用得上) 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转) 
补上jar包下载地址:http://download.****.net/detail/kyle0349/9559025

**

Struts2.3

** 
1、导入jar包 
2、配置web.xml 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
3、创建js页面 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)

4、创建action类 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转) 
5、配置struts.xml文件 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
到这里struts2配置完类,在和整合spring前,先单独测试struts2是否正确运行。然后配置spring以及整合struts2

Spring

1、导入jar包 
2、在web.xml添加spring支持(监听器) 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
3、在src目录下添加applicationContext.xml文件 管理Action对象的创建 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
将action的创建交给spring管理, 
spring 默认scope 是单例模式,这样只会创建一个Action对象, 
而Action要求每次访问都要创建新的Action ,scope=”prototype”就可以保证每次有新的访问都会创建新的action。保证每一个请求有一个单独的Action来处理,避免struts中Action的线程安全问题。 
4、修改struts.xml中action引用的类地址,改为在spring中创建action对象的id,这样才真正是把action对象交给spring创建。 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
和struts2配置的第5步比较

hibernate

1、导入jar包 
2、创建实体类 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转) 
… 
get/set方法 
… 
3、映射文件User.hbm.xml 在同一个包下创建映射文件,命名格式entity.hbm.xml 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转) 
配置信息 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
4、创建dao层、service层(基本的增删改查用于测试) 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转) 
PS. 说明:Dao实现类继承了hibernateDaoSupport后可以直接获取session,不需要sessionFactory。 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
5、action层中在前面配置struts2的基础上,增加业务代码(增删改查) 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转) 
对于userService的获取有两种方式: 
get/set方式 
注解方式 
6、在applicationContext.xml配置文件配置整合信息 
A、(如果使用类注解方式,则需要开启注解扫描) 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
B、创建Action对象,userService对象,userDao对象 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
Ps.我这里userDao是get/set方式,Action,userService是注解方式 
C、数据库连接(整合spring-hibernate,我是原来的hibernate配置文件写到spring中) 
不需要再数据库建表,只要保证有对应的数据库即可, 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
Ps.数据库的连接信息没有写死到代码中,而是用db.properties配置再倒入,好处是随时更换数据库 
db.properties数据 
SSH三大框架的搭建整合(struts2+spring+hibernate)(转)
这里hibernate其实已经配好而且整合到spring里面去了,没有单独测试,直接用网页测试。

PS.如果整合顺序是hibernate – spring – struts2 会不会合理些?