SSH学习-Struts2+Spring+Hibernate整合配置使用

 

引言

前面简单的的学习了如何使用Struts2和Hibernate,学习了基本的配置方法和使用方法,最后需将新学习的表现层框架Struts2和持久层框架Hibernate,和Spring整合起来,以一个简单的验证登录案例,来理解其基本使用方法。

Spring和Hibernate的整合

Spring和Hibernate整合就是为了让Spring管理Hibernate的session和sessionFactory。类似Mybatis,在里面配置管理sessionFactory和MappingConfigurer。

(1)导包

Hibernate使用相关包: hibernate-core包,MySql-connector包,javassist包 

连接池:dbcp,或者使用阿里的c3p0,这里使用c3p0

Spring使用相关包:spring-orm(对象关系映射包)

测试相关包:junit包

 View Code

(2)配置文件

与MyBatis类似,MyBatis在与Spring整合之前,需要一个专门的MyBatis配置文件,其中有配置数据库连接以及Mapper映射文件的位置,如果与Spring整合后,MyBatis的相关连接配置和Mapper配置都放到了Spring配置文件中。与MyBatis类似,Hibernate与Spring整合后,也是在Spring的配置文件中进行数据库连接配置,以及配置Mapper文件xxx.hbm.xml文件,因此配置文件需要一个spring-*.xml,以及若干类名.hbm.xml文件。

spring-*.xml

(2-1)需配置数据库连接池,这次用的c3p0配置dataSource bean,与MyBatis类似,也需要配置sessionFactory,在sessionFactory里面有hibernatePropeties属性和mappingLocation属性,这两个属性可以完成以前hibernate.cfg.xml的部分配置,如dialect,show_sql,format_sql等配置在hibernatePropeties,而映射文件配置在mappingLocation属性下面。

(2-2)配置hibernateTemplate,如果不整合spring,需要手动得到session对象,然后再调用session对象的query方法获得query对象,最后使用list方法得到查询对象,整合后直接使用hibernateTemplate的API可以直接得到查询对象,因此需要配置。

(2-3)配置事物传播属性,与MyBatis类似,只是具体的实现类不一样,需要引入的属性也不一样,这里需要引入sessionFactory,初始化transactionManager。

 View Code

user.hbm.xml

user.hbm.xml跟以前一样,配置class,里面添加user实体类和t_user表的映射关系。

 View Code

(3)实现类

 View Code

(4)建表 cn_user

(5)测试Service层+DAO层

DAO层需要建立接口,以及接口的实现类,MyBatis是不需要创建实现了的,Hibernate需要。

DAO层:

 View Code
 View Code

Service层:

 View Code
 View Code

测试类:

 View Code

测试结果:

测试没有问题就可以接下来整合Struts2+Spring了。

Struts2和Spring的整合

配置跟以前学习的一样,需要导入关键包,以及配置struts.xml和web.xml

(1)导包 struts2-core,struts2-spring-plugin,spring-webmvc,如果测试返回为json,可以导包struts2-json-plugin,以及整合到前面的导包文件了,可以参考前面内容。

(2)配置spring-*.xml(组件扫描),配置struts.xml,还有web.xml(配置listener,context-param,filter)

这里主要再复习下,配置listener的作用是使用它来启动spring容器,而启动容易需要读取配置文件,不配置的话就是默认读取WEB-INF下的applicationContext.xml,如果配置了context-param就会从配置地址读取,filter的配置相当如以前的servlet的配置。

web.xml

 View Code

struts.xml

 View Code

(3)filter实现类

 View Code

(4)jsp页面,登录页面和返回登录信息页面

 View Code
 View Code

(5)登录测试

这样就完成了一个简单的Struts2+Spring+Hibernate搭建,并实现简单登录逻辑。

结论

整合Struts2+Spring+Hibernate,需要熟悉没有和Spring整合之前如何配置,有了Spring部分内容在Spring-*.xml文件中进行了集成,另外Spring帮忙自动管理Struts2和Hibernate组件。

posted @ 2019-10-15 17:23  shineehcj  阅读(193)  评论(0)    收藏  举报