博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有关Spring3.x 整合myBatis3.1的轻量级框架简要说明
阅读量:6631 次
发布时间:2019-06-25

本文共 1954 字,大约阅读时间需要 6 分钟。

  hot3.png

主题:有关Spring3.x 整合myBatis3.1的轻量级框架

对于现在主流的j2ee企业级开发而言,ssh(struts+hibernate+spring)依然是一个事实的标准。

由struts充当的mvc调度控制;hibernate的orm持久化映射;spring的ioc和aop的容器环境近乎于完美的框架组合。

但是呢,在实际的开发工作中,由于程序猿对于技术、以及更加快速的解决方案的追求,我们会越来越发现ssh框架所存在的诸多问题和困扰。

Ssh框架存在的问题:

1.随着spring mvc的快捷使用,我们会发现spring mvc的作用和struts的整个功能,对基于mvc调度而已,存在严重的替代作用;

2.Hibernate虽然在orm方面给开发人员带来了很大的方面,程序猿可以基本上只需要关注程序的业务逻辑处理。但是呢,业务的复杂性和随意性永远不是那么简单的事,经常会遇到hibernate的配置方案无法满足业务逻辑,这时候灵活的SQL操作就显得很重要;

3.你会发现,在使用ssh的时候,你越来越无法忍受框架的臃肿。需要配置很多文件,需要考虑多个框架的jar兼容问题,多个框架运行流转的麻烦等等;

基于对以上存在的诸多问题的考虑,我们急需一套更加轻量级、高效的框架。考虑到spring的高度解耦、灵活的设计。你会发现,spring mvc对于请求调度的处理;spring ioc对于容器的管理,非常的高效简洁。

然后,就剩下一个orm产品。考虑到当前orm框架中,支持基于原生SQL操作,同时又高效、简洁,那就是MyBatis了。

这时候,你会发现框架其实也可以这般的简洁、灵活。尤其是基于REST风格的Spring3 MVC资源映射编程模型,编写的Code真的很优雅。那是相当的惊喜,编程之美。

以上呢,主要说了当前主流的ssh框架存在的一些问题,以及因此我们可以选择的更加灵活、高效的新型框架Spring3.x集合Mybatis3.x。

下边呢,着重讲一下基于Spring3.x集合Mybatis3.x这种更加轻量级的框架的基本构成和相关配置文件。

Spring mvc的运行原理模型图例:

1.Web端发送了一个http请求,通过在web.xml中配置的Spring的核心Servlet控制器DispatcherServlet进行统一拦截。

2.Spring的核心DispatcherServlet,根据handlerMapping XML处理文件的配置,返回给spring核心处理器,并调度到handler匹配的请求的具体处理Controller。

3.Spring的用户Servlet处理器,根据请求的参数,进行具体的业务逻辑处理,然后返回相应的ModelAndView,给spring核心处理器。

4.Spring核心处理器Servlet根据用户Servlet返回的逻辑视图,返回相应的展示视图,相应用户请求。

Spring mvc基本上和主流的mvc框架的处理逻辑是一致的。下面主要讲一下spring的两个重要的配置文件。

applicationContext.xml(我个人认为,这就是单纯的spring的配置文件)

1.dataSource数据源的配置;

2.transactionManager事务管理;

3.sqlSessionFactory数据session工厂;

4.<tx:annotation-driven transaction-manager="transactionManager" />基于spring3的全注解事务管理驱动配置。

5.<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">spring集成mybatis的处mapper整包路径扫描。

context-dispatcher.xml(我个人认为,这其实就是类似于strut的配置文件,作用于spring mvc)

1.<mvc:annotation-driven />spring核心处理器的Handler映射和适配器服务注册

2.<context:component-scan base-package="com.matol.*" /> 基于全注解包路径扫描。

3.Spring的试图资源viewResolver注册

spring基本上也就是这些了,至于ssh中的ioc三层逐层依赖注入,和以前是一样的,唯一不同的是,这些逐层的依赖注入,可以采用全注解的方式,进行配置。

好吧,先写到这里,懒得继续写了,凑合着看吧。

转载于:https://my.oschina.net/matol/blog/106950

你可能感兴趣的文章
云栖大会上发布了哪些移动研发新利器?
查看>>
day6作业--游戏人生完善
查看>>
金字塔思维
查看>>
thinkphp空控制器的处理
查看>>
接口幂等
查看>>
FromBottomToTop第十三周项目博客
查看>>
【常用工具】常用工具收集
查看>>
第二阶段团队冲刺站立会议06
查看>>
html
查看>>
本地wampserver如何配置伪静态
查看>>
C#串口通信实例
查看>>
小程序数据返回时刷新当前页面数据
查看>>
jFinal 关联数据库操作
查看>>
团队冲刺第二天
查看>>
sed删除空行和开头的空格和tab键
查看>>
php扩展安装
查看>>
15个重要的Android代码
查看>>
(转)android 牛人必修 ant 编译android工程
查看>>
求最大公约数与最小公倍数
查看>>
C# Winform 跨线程更新UI控件常用方法总结(转)
查看>>