笔者在学习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)
-------------------------------------------------------------------------------------------------------------------
测试完毕---成功