文档章节

有关Spring3.x 整合myBatis3.1的轻量级框架简要说明

后海
 后海
发布于 2013/02/01 14:20
字数 1060
阅读 487
收藏 7

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


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

struts充当的mvc调度控制;hibernateorm持久化映射;springiocaop的容器环境近乎于完美的框架组合。


但是呢,在实际的开发工作中,由于程序猿对于技术、以及更加快速的解决方案的追求,我们会越来越发现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三层逐层依赖注入,和以前是一样的,唯一不同的是,这些逐层的依赖注入,可以采用全注解的方式,进行配置。


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

© 著作权归作者所有

共有 人打赏支持
后海
粉丝 23
博文 40
码字总数 25623
作品 2
闵行
后端工程师
springMVC spring3.1+ mybatis3.1+

求一份整合spring3.1 springMVC 和mybatis 的详细说明文档或者代码。自己整合几天了 , controller 没问题 能转发请求就是 整合mybatis 在controller 加上@Inject private UserService userS...

foeget
2013/03/31
1K
9
Porteus Kiosk 4.5.0 发布,轻量级的 Linux 操作系统

Porteus Kiosk 4.5.0 已发布,Porteus Kiosk 是轻量级的 Linux 操作系统,它基于 Gentoo Linux 。 该版本的主要软件升级包括:Linux kernel 4.12.10, Mozilla Firefox 52.3.0 ESR 和 Google...

局长
2017/09/05
665
4
Porteus Kiosk 4.4.0,轻量级的 Linux 操作系统

Porteus Kiosk 4.4.0 发布了,Porteus Kiosk 是轻量级的Linux操作系统,它基于 Gentoo Linux 。 该版本的主要软件升级包括:Linux kernel 4.9.30, Mozilla Firefox 52.1.2 ESR 和 Google Chr...

局长
2017/06/02
1K
3
spring3.x + mybatis3.x 整合

新手,下午整了2小时,参考下面的两个博文整合了一次Spring3.x 和 mybatis 3.x 由于一直用Spring2.5,第一次使用Spring3.x 发现这么多jar包,没有全部导入,后来每次运行程序都报异常,根据异...

vvx1024
2014/03/18
0
2
【Spring+SpringMVC+Mybatis】利用SSM整合,完成用户登录、注册、修改密码系统

近年来,由于Struts2+Hibernate3+Spring3,这套SSH框架,Struts2屡次爆出安全漏洞,Hibernate就只会推行它HQL那套而越来越远离SQL查询关系数据库的本质,所以Spring+SpringMVC+Mybatis这套S...

yongh701
2017/11/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

no such module 'pop'问题

在github上 clone 了一个 swift 项目,编译时提示"no such module 'POP'"错误,查了一下居然是因为podfile中指定的最低版本是iOS 11.0,大于我测试手机的iOS版本10.3.3,将Podfile中的最低版...

yoyoso
29分钟前
0
0
redis 系列一 -- 简介及安装

1.简介 redis -- remote dictionary server 远程字典服务 使用 C 语言编写; 高性能的 key-value数据库; 内存数据库,支持数据持久化。 Redis 是一个开源(BSD许可)的,内存中的数据结构存...

imbiao
53分钟前
3
0
nginx log记录请求响应时间

有时为了方便分析接口性能等,需要记录请求的时长,通过修改nginx的日志格式可以做到,如 添加一个新的log_format log_format timed_combined '$remote_addr - $remote_user [$time_local] "...

swingcoder
今天
4
0
Spring MVC之RequestMappingHandlerMapping匹配

对于RequestMappingHandlerMapping,使用Spring的同学基本都不会陌生,该类的作用有两个: 通过request查找对应的HandlerMethod,即当前request具体是由Controller中的哪个方法进行处理; 查...

爱宝贝丶
今天
3
0
Java Web--增删改查之二界面后台java代码(转载参考)

/** *  *//** * @author Administrator * */package dao; import java.sql.*;public class DBConn {/** * 链接数据库 * @return */  ...

小橙子的曼曼
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部