spring+hibernate+springMVC整合配置文件

13 篇文章 1 订阅
2 篇文章 0 订阅

笔者在学习ssh框架的时候,对整合在一起的配置文件不太理解,因此写下该文记录配置文件的编写。其中的参数属性为必须的,最核心的属性。

持续更新中!!!2018.6.13

     ------------------------------------------------------------------------------------------------------------

       -----------------------------------------------------------------------------------------------------------

导入架包

导入SpringMVC 包 lib ---- 挑选需要的导入



  -------------------------------------------------------------------------------------------------------------------

导入hibernate包lib--- required ------ 全部选择




  -------------------------------------------------------------------------------------------------------------------

导入三方的依赖包

比如日志包


  -------------------------------------------------------------------------------------------------------------------

导入数据库驱动包


      ------------------------------------------------------------------------------------------------------------

       -----------------------------------------------------------------------------------------------------------

一 、配置Web.xml

具体步骤如下:

1.1 配置Spring的IOC容器

1.2 配置SpringMVC的控制器(Servlet)

1.3 配置HiddenHttpMethodFilter(实现REST)

1.4 配置过滤器

  -------------------------------------------------------------------------------------------------------------------

详解

1.1 配置Spring的IOC容器

根据spring的加载配置文件的命名和位置存放不同,代码上略有不同。但是在他们的作用都是加载配置文件,生成applicationContext的实例。

spring在web.xml中几种加载配置文件的方式请参考:

https://blog.csdn.net/qq_36098284/article/details/80690639



    -------------------------------------------------------------------------------------------------------------------

1.2 配置SpringMVC的控制器(Servlet)

    -------------------------------------------------------------------------------------------------------------------

1.3 配置HiddenHttpMethodFilter(实现REST)


    -------------------------------------------------------------------------------------------------------------------

1.4 配置过滤器

该例是过滤编码方式。如果网站有特殊要求,可以自行写特殊的过滤器。需要更改filter-name,filter-class(过滤器目的不同,使用的类不同),自定义初始化的值init-param,



在web.xml文件中,除了可以放我写的这几个内容外,还可以放很多配置,初始化信息。

详细请参考:https://blog.csdn.net/qq_36098284/article/details/80690886


      ----------------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------------

二、配置SpringMVC(创建一个文件springmvc.xml)

具体步骤如下:

2.1 导入命名空间

2.2 配置自动扫描的包

2.3 配置视图解析器

2.4 配置静态资源

2.5 注解

  -------------------------------------------------------------------------------------------------------------------

详解

创建springmvc.xml的配置文件


 -------------------------------------------------------------------------------------------------------------------

2.1 导入命名空间


 -------------------------------------------------------------------------------------------------------------------

2.2 配置自动扫描的包

具体细节与3.2相同,请往下参考


 -------------------------------------------------------------------------------------------------------------------

2.3 配置视图解析器


-------------------------------------------------------------------------------------------------------------------

       

2.4 配置静态资源


-------------------------------------------------------------------------------------------------------------------

2.5 注解


       --------------------------------------------------------------------------------------------------------------------

       --------------------------------------------------------------------------------------------------------------------

三 、配置Spring(创建一个文件applicationContext.xml)

具体步骤如下:

3.1 导入命名空间(与上面的SpringMVC导入的类似)

3.2 配置自动扫描的包

3.3 配置数据源

3.4 配置dataSource

3.5 整合Hibernate

      3.5.1 配置SessionFactory

      3.5.2 配置Hibernate的事务管理器

           -------------------------------------------------------------------------------------------------------------------

详解:

创建一个applicationContext.xml文件


3.2 配置自动扫描的包

使用 <context:component-scan base-package="包名"(包含子包)/>以及子标签<context:exclude-filter />和<context:include-filter />

详细请参考:https://blog.csdn.net/qq_36098284/article/details/80663860


     


      -------------------------------------------------------------------------------------------------------------------

3.3 配置数据源

使用context:property-placeholder />可以引入多个数据源文件

详解请参考:https://blog.csdn.net/qq_36098284/article/details/80672748


    -------------------------------------------------------------------------------------------------------------------

3.4 配置dataSource


  -------------------------------------------------------------------------------------------------------------------

3.5 整合Hibernate

此时使用的是在spring的applicationContext.xml中配置hibernate。

同时也可以使用hibernate.cfg.xml配置sessionFactory的相关信息。但是推荐采用第一种,方便事物管理。

spring如何整合hibernate详细请参考:https://blog.csdn.net/qq_36098284/article/details/80677481

 

 3.5.1 配置SessionFactory




3.5.2 配置Hibernate的事务管理器

使用hibernate的时候,每次都需要开启事物,处理,提交事物。因此hibernate默认是选择不自动提交的。当然可以在property中设置为自动提交。尽管设置成自动提交,可是仍然和我们的期望不同。因为我们希望多次处理后一起提交,如果出现问题可以回滚到最开始的状态。但是设置为自动提交不能实现一起提交。

因此当我们使用spring管理事务的时候,可以有效的解决这个问题。

而且除了配置管理器(用如下的几行代码,我们仍然需要配置几部分内容,详细参考下面的链接)

详细请参考:https://blog.csdn.net/qq_36098284/article/details/80680794



总结:

个人看完spring配置的hibernate文件后,感觉过程类似这样的。首先配置数据源,是要确定我们的资源在哪一个或者哪一些文件中找,配置DataSource是为了确定属性的值。当配置sessionFactory的时候,使用的就是DataSource的资源。进行连接和使用。当然sessionFactory是为了hibernate的。最后配置事务的管理器是为了spring管理事务提交的问题。

      --------------------------------------------------------------------------------------------------------------------------

       --------------------------------------------------------------------------------------------------------------------------

四 、配置db.properties文件

编写一个db.properties文件。用于连接jdbc。

db.properties作为一个数据源的文件,当我们程序完成后,需要投入使用的时候,是对会数据库的连接等配置信息进行更改,那么如果有db.properties这个文件,只需要找到该文件进行修改即可。不需要在程序中修改,十分方便快捷。



      --------------------------------------------------------------------------------------------------------------------------

       --------------------------------------------------------------------------------------------------------------------------

五 、 进行SSH整合测试

具体步骤如下:

5.1新建test测试包

5.2新建一个JUnit测试类

5.3测试数据源

5.4测试SessionFactory

5.5测试操作数据库的表(session)

   -------------------------------------------------------------------------------------------------------------------

生成一个domain-crm_user的实体类用于测试

创建构造方法和setter和getter

(注意注解的@Entity、@Table、@Id的使用)




   -------------------------------------------------------------------------------------------------------------------

5.1新建test测试包

5.2新建一个JUnit测试类

什么是单元测试,如何使用注解进行单元测试,请参考https://blog.csdn.net/qq_36098284/article/details/80684303

创建一个class,选择JUnit。


   -------------------------------------------------------------------------------------------------------------------

5.3测试数据源

5.4测试SessionFactory

先测试数据源,每得到一个对象都打印一次。逐步测试。最终出错概率小

@Test


   -------------------------------------------------------------------------------------------------------------------

5.5测试操作数据库的表(session)


   -------------------------------------------------------------------------------------------------------------------

测试完毕---成功




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值