《Maven+SpringMvc+Mybatis框架介绍.ppt》由会员分享,可在线阅读,更多相关《Maven+SpringMvc+Mybatis框架介绍.ppt(44页珍藏版)》请在金锄头文库上搜索。
1、BI系统介绍,目 录,Mybatis简介,总体介绍-服务器架构,Negix负载均衡,122.14.20.105:8110,PC用户,手机用户,报表服务器,192.168.10.112:8080,192.168.10.112:8090,报表服务器,192.168.10.113 :3306,MySQL,总体介绍-业务架构,页面,控制层,service,Dao,controller,Dao,service,Ajax请求,调用传参,返回数据,返回数据,返回JSON,jsp,调用传参,总体介绍-技术架构,本项目采用Maven来构建和管理。通过Spring MVC分离了控制器、模型对象、分派器以及处理程序
2、对象的角色,这种分离让它们更容易进行制定。持久层框架用的Mybatis ,支持普通 SQL 查询,存储过程和高级映射。,目 录,Mybatis简介,Maven项目框架,Maven项目框架,为什么使用Maven框架,为什么使用Maven框架,Maven是什么,Maven工程创建,如何使用Maven,如何使用pom文件,Maven坐标,坐标的用法,坐标的用法,如何运行Maven项目,目 录,Mybatis简介,MVC设计思想,MVC即Model-View-Controller,把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型
3、层、视图层、控制层。,MVC设计思想,MVC是一种复合模式,结合了观察者模式、策略模式、组合模式、适配器模式。 模型使用观察者模式,以便观察者更新,同时保持两者之间的解耦。控制器是视图的策略,视图使用组合模式实现用户界面。适配器模式用来将模型适配成符合现有视图和控制器的需要的模型。 这些模式合作把MVC模式的三层解耦。,MVC设计思想,视图(View)代表用户交互界面,对于Web应用来说,可以是HTML,也可能是jsp、XML和Applet等。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理
4、交予模型(Model)处理。 比如一个订单的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。,MVC设计思想,模型(Model):是业务的处理以及业务规则的制定。模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计是MVC最主要的核心。MVC设计模式告诉我们,把应用的模型按一定的规则抽取出来,抽取的层次很重要,抽象与具体不能隔得太远,也不能太近。MVC并没有提供模型的设计方法,而只是组织管理这些模型,以便于模型的重构和提高重用性。 业务模型还有一个很重要的模型那就是数据模型。数据模型主要指实体对象的数据保存(持续化)。比如将一张订单保存到数据库,从
5、数据库获取订单。我们可以将这个模型单独列出,所有有关数据库的操作只限制在该模型中。,MVC设计思想,控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。 例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。,Jsp model 1架构,Model 1的基础是J
6、SP文件,它由一些相互独立的JSP文件和其他一些Java Class组成。这些JSP从HTTP Request中获得所需要的数据,处理业务逻辑,然后将结果通过Response返前端浏览器。Model 1的应该说是唯一的好处是“简单”,可以大大加快系统的开发进度。它把表现层和业务逻辑层柔和在一起,不利于以后的维护工作以及开发角色的分配,所以这种模式只能适合于小的系统开发。,Jsp model 2架构,Model 2采用面向对象技术实现MVC模式 从而扩展JSP/Servlet的模式。 Model2是MVC在Web上的应用。,一个Model 2规范实现的Web框架,一个Model 2规范实现的We
7、b框架,视图层采用JSP实现;控制层采用Servlet实现,整个框架采用同一个Servlet,以实现请求的中转;模型层采用Java实现,主要决定用来做什么;在模型层后添加了一个DAO,目的是将决定做什么和具体怎么做分开。 整个Web框架大致的流程是:首先客户端发送请求,提交JSP页面给中转器(Servlet);中转器根据客户的请求,选择相应的模型层,即Logic,Logic进行相应的逻辑处理;如果需要使用数据库,则通过DAO进行相应的数据库操作。,Spring MVC 架构,Spring MVC是结构最清晰的MVC Model 2实现。它的Action也不叫Action,而是称做Control
8、ler;Controller接收request, response参数,然后返回ModelAndView(其中的Model不是Object类型,而是Map类型)。但在其它的Web Framework中,Action返回值一般都只是一个View Name;Model则需要通过其它的途径(如request.attribute,Context参数,或Action本身的属性数据)传递上去。,Spring Web MVC请求处理流程,Spring MVC 特点,清晰的角色划分:控制器(controller)、验证器(validator)、 命令对象(command object)、表单对象(form o
9、bject)、模型对象(model object)、 Servlet分发器(DispatcherServlet)、 处理器映射(handler mapping)、视图解析器(view resolver)等。 每一个角色都可以由一个专门的对象来实现。 强大而直接的配置方式:将框架类和应用程序类都能作为JavaBean配置,支持跨多个context的引用,例如,在web控制器中对业务对象和验证器(validator)的引用。 可适配、非侵入:可以根据不同的应用场景,选择合适的控制器子类 (simple型、command型、form型、wizard型、multi-action型或者自定义),而不是从
10、单一控制器 (比如Action/ActionForm)继承。,Spring MVC 特点,可重用的业务代码:可以使用现有的业务对象作为命令或表单对象,而不需要去扩展某个特定框架的基类。 可定制的绑定(binding) 和验证(validation):比如将类型不匹配作为应用级的验证错误, 这可以保存错误的值。再比如本地化的日期和数字绑定等等。在其他某些框架中,你只能使用字符串表单对象, 需要手动解析它并转换到业务对象。 可定制的handler mapping和view resolution:Spring提供从最简单的URL映射, 到复杂的、专用的定制策略。与某些web MVC框架强制开发人员使
11、用单一特定技术相比,Spring显得更加灵活。 灵活的model转换:在Springweb框架中,使用基于Map的 键/值对来达到轻易地与各种视图技术的集成。,Spring MVC 特点,可定制的本地化和主题(theme)解析:支持在JSP中可选择地使用Spring标签库、支持JSTL、支持Velocity(不需要额外的中间层)等等。 简单而强大的JSP标签库(Spring Tag Library):支持包括诸如数据绑定和主题(theme) 之类的许多功能。 JSP表单标签库:在Spring2.0中引入的表单标签库,使得在JSP中编写 表单更加容易。 Spring Bean的生命周期可以被限制在当前的HTTP Request或者HTTP Session。,目 录,Mybatis简介,什么是MyBATIS,什么是MyBATIS,与传统的JDBC比较,与Hibernate框架比较,与Hibernate框架比较,MyBATIS实际开发比较,MyBATIS实际开发比较,MyBATIS实际开发比较,MyBATIS执行流程,谢谢,