1 / 58
文档名称:

Struts2 Spring MyBatis培训文档.ppt

格式:ppt   大小:2,100KB   页数:58页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Struts2 Spring MyBatis培训文档.ppt

上传人:ffy51856fy 2017/6/18 文件大小:2.05 MB

下载得到文件列表

Struts2 Spring MyBatis培训文档.ppt

相关文档

文档介绍

文档介绍:Struts2+Spring+MyBatis 徐李春 2015-06-16 框架的介绍 1 框架的原理 2 框架的使用 3 技术小结 4 Contents 目录 1 Part框架的介绍 Introduction to the framework Spring Spring 是一个轻量级的控制反转( IoC ) 和面向切面(AOP) 的容器框架。 MyBatis MyBatis 是支持定制化 SQL 、存储过程以及高级映射的优秀的持久层框架。 MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集的操作。 Struts2 Struts2 是流行和成熟的基于 MVC 设计模式的 Web 应用程序框架。是在 Struts 和 WebWork 的技术基础上进行了合并,全新的 Struts 2 框架。 认识框架 框架的背景 Struts2 背景 Struts2 以WebWork 优秀的设计思想为核心,吸收了 Struts1 的部分优点,建立了一个兼容 Struts1 和WebWork 的优秀 MVC 框架。 Struts2 的目标是希望可以让原来使用 Struts1 和WebWork 的开发人员,都可以平稳过度的使用 Struts2 的框架。 2015 年12月, WebWork 和Struts Ti 宣布合并,与此同时, Struts Ti 改为 Struts Action , 成为 Struts 真正的继承者。 Spring 是一个开源的框架,由 Rod Johnson 创建。它是为了解决企业应用开发的复杂性而创建的。传统J2EE 应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致 J2EE 的应用没有真正实现 Write Once 及Run Anywhere 的承诺。 Spring 作为开源的中间件,独立于各种应用服务器, 甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务等。 Spring 产生的背景 MyBatis 产生的背景 Mybatis background 1 、传统的 jdbc ,有许多操作是与业务和数据无关的,真正需要的是,一个运行 sql 语句的功能,还有取回结果的功能,但是 jdbc 要求你处理连接,会话、 statement ,尤其是还要你注意关闭资源,还要写 try catch 处理异常。 2、 iBatis 解决了 jdbc 的问题,不仅如此,还要求你把 sql 语句写到 xml 里,这样不会把 sql 编译到程序中, 以增强程序的可移植性,在不重新编译的情况下, 可以更换数据库。 3、 MyBatis 本是 apache 的一个开源项目 iBatis , 2010 年这个项目由 apache software foundation 迁移到了 google code ,并且改名为 MyBatis 。 Struts2 优点实现 MVC 模式,结构清晰,使开发者只关注业务逻辑的实现。 1 框架的优缺点有丰富的 Tag 可以用,如果能灵活运用, 则大大提高开发效率。 2 全局结果与声明式异常处理。 3 强大的***, Struts2 中的许多特性都是通过***实现的,如权限验证等。 4 模块化,可以轻松将配置信息按功能界限拆分成多个文件,便于管理和团队协作开发。 5 Struts2 缺点配置文件比较庞大如果项目功能模块比较多,需要编写大量的配置文件。性能比较低由于使用了 ognl 和值栈,所以并发量高时, Struts2 的性能比较低。参数过多导致 action 臃肿若一个请求传递的参数比较多, Action 就需要为每一个参数写 setter 和 getter 方法, 此时容易导致 Action 臃肿。 Spring 优点 Spring 支持 JDBC 和 O/R Mapping 产品。 Spring 能使用 AOP 提供声明性事务管理。降低了组件之间的耦合性。面向切面编程。开源免费。能有效组织中间层对象。能消除在许多工程中常见的对 Singleton 的过多使用。能过帮助我们实现真正意义上的接口编程。应用中的大多数业务对象没有依赖于 Spring 。使用 Spring 构建的应用程序易于单元测试。将原本应该代码化的逻辑配置化,增加了出错的机会以及额外的负担。控制器过于灵活,缺少一个公用控制器。缺点