ssm:springmvc、spring、mybatis这三个框架的整合,有耐心一步步走。
--WZY
一、SSM框架整合
1.1、整合思路
从底层整合起,也就是先整合mybatis与spring,然后在编写springmvc。
1.2、开发需求
查询商品列表(从数据库中查询)
1.3、创建web工程
现在ssm的工程创建就有区别于原先的dao、service、web这样的三层目录了,现在是mapper、service、controller这样的目录,mapper就相当于以前的dao、controller相当于以前的web,改变了名称而已。不要因此看不懂了。
1.4、添加jar包
这种jar包,上网直接百度ssm整合的jar包即可
数据库驱动、Mybatis的核心、依赖包、Mybatis与spring的整合包、Dbcp连接池包、Spring的包(包括springmvc的包)、Aop的依赖包、Jstl包、Common-logging包
1.5、开始整合mapper(mybatis与spring的整合)
详细的整合思路讲解:mybatis与spring的整合 这里我直接上代码。步骤
1.5.1、SqlMapConfig.xml
SqlMapConfig.xml
1.5.2、applicationContext-dao.xml的配置
这里需要注意一点,在指定mybatis的全局配置文件的路径的时候,也就是在value="classpath:SqlMapConfig.xml"时,如果在创建的config的配置文件目录下还有层级目录,则这里需要加上,比如,config下面分为了mybatis和spring,那么这里就需要写value="classpath:mybatis/SqlMapConfig.xml",看根据你自己的需求来编写
applicationContext-dao.xml
1.5.3、db.properties配置
db.properties
1.5.4、开发mapper,将逆向工程生成的添加进来
注意:Mapper开发时,先要根据需求进行分析,是否匹配逆向工程生成的代码,如果匹配成功,则不需要再开发mapper;如果不匹配,再去扩展一个新的mapper接口和mapper映射文件来处理该需求,通俗点讲,就是逆向工程生成的mapper接口中的定义的功能是否满足我们开发的需求,因为逆向工程生成的都是对于单表进行操作的,而我们有时候需要的是更复杂的查询,所以如果有需要我们在自己创建mapper接口和mapper映射文件,其实就是扩展功能。
1.6、整合service
添加applicationContext-service.xml配置文件,用来处理事务,
applicationContext-service.xml:如果不懂其中的代码的意思,就查看之前讲解spring管理事务的文章。这里直接复制粘帖即可,修改一些包名称等
applicationContext-service.xml
1.7、整合controller
也就是使用springmvc了。非常简单。
1.7.1、在web.xml中配置前端控制器DispatcherServlet
web.xml中前端控制器DispatcherServlet的配置
1.7.2、配置springmvc.xml
springmvc.xml
1.8、整合spring配置文件
就是将所有的spring的配置文件都进行加载启动。也就是在web.xml中配置spring的监听器
web.xml中配置加载spring容器和监听器
1.9、总结所有的配置如下图
1.10、部署测试
1.10.1、查询商品列表(从数据库中查询)
1、编写service层
ItemsService 接口
ItemsServiceImpl 实现类 不使用注解开发
applicationContext-service.xml中配置该service的bean
ItemsServiceImpl 实现类 使用注解的话,就不需要在applicationContext-service.xml中配置该service的bean了
2、编写controller层
该层的编写有很多中方式,我记得前一节讲解过,比如实现Controller接口,使用注解等,一般直接使用注解。
ItemsController
3、添加jsp页面
itemsList.jsp
4、测试
http://localhost:8080/ssm_test01/queryItems.do 如下图,即成功
二、总结
这样,ssm的框架整合就结束了,非常简单,按步骤,先整合mybatis与spring,然后在整合springmvc。自己练习几遍就会了。接下来的文章就会以此为基础,讲解springmvc的各种小功能,比如,springmvc的参数绑定、springmvc的校验器,图片的上传等。