Spring提供的前端控制器,所有的呼吁都起经她来归并分发。在DispatcherServlet将请求分发给Spring Controller之前,需要借助Spring..." />

SSM中(Spring-SpringMVC-Mybatis)(一:概念)

一:Spring:

参考我之别一样首博客:    http://www.cnblogs.com/GH0522/p/8127530.html

二:SpringMVC:

流程图:

MyBatis 1

SpringMVC接口解释

DispatcherServlet:

style=”font-size: 18px;”>Spring提供的前端控制器,所有的呼吁都起经她来归并分发。在DispatcherServlet将请求分发给Spring
Controller之前,需要借助Spring提供的HandlerMapping定位及具体的Controller。

 

能完成客户要到Controller映射。

 

要为出现用户处理上述呼吁,因此实现Controller接口时,必须确保线程安全同时可选用。

Controller将拍卖用户请求,这和Struts
Action扮演的角色是平的。一旦Controller处理完用户要,则赶回ModelAndView对象吃DispatcherServlet前端控制器,ModelAndView中富含了范(Model)和视图(View)。

自打本角度考虑,DispatcherServlet是周Web应用之控制器;从微观考虑,Controller是单科Http请求处理过程中之控制器,而ModelAndView是Http请求过程遭到归的模子(Model)和视图(View)。

 

Spring提供的视图解析器(ViewResolver)在Web应用被找寻View对象,从而以相应结果渲染给客户。

SpringMVC运行原理

  1. style=”font-size: 18px;”>客户端请求提交至DispatcherServlet
  2. style=”font-size: 18px;”>由DispatcherServlet控制器查询一个要么多单HandlerMapping,找到处理要的Controller
  3. style=”font-size: 18px;”>DispatcherServlet将请提交至Controller
  4. style=”font-size: 18px;”>Controller调用工作逻辑处理后,返回ModelAndView
  5. style=”font-size: 18px;”>DispatcherServlet查询一个或多只ViewResoler视图解析器,找到ModelAndView指定的视图
  6. 视图负责用结果显示到客户端
  1. 收缴符合一定格式的URL请求。
  2. 初始化DispatcherServlet上下文对应的WebApplicationContext,并将该及业务层、持久化层的WebApplicationContext建立关联。
  3. 初始化Spring
    MVC的顺序组成组件,并装配到DispatcherServlet中。

 

 

 三:mybatis

   MyBatis 是支撑定制化 SQL、存储过程以及高档映射的理想的持久层框架。MyBatis 避免了几乎拥有的 JDBC 代码和手工安装参数与抽取结果集。MyBatis 使用简单的 XML 或注解来布局与投基本体,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中之笔录。

  

1:使用连接池,datasource,在使并连接的这个过程被优化并解耦

JDBC第一步其实打效率角度来拘禁是无得当的,因为无论什么数据库都无容许支持随机和高大之连数,而且不可避免的存连接浪费之情景,Mybatis就封装了这些优化的道。

2:统一sql存取到XML

万一代码写以java块被,在组织合作中十分可能出现零星只交叉作业的代码应用类之sql语句,而开发人员的劳作本身没有交集,那即便象征sql语句肯定是力不从心复用的。而且对sql的改动,就意味着正在对java文件的改,需要更编译和包裹部署(比如大规模的状态值更改,sql修改就事情转移必然存在修改)。

mybatis将sql统一存取到xml中,就算有工作交叉,但为联合配置的缘故,sql在xml中侦破,两个跨team的程序员可以见见对方的sql,来判断好是否需要引用。并且应用xml配置可以减去代码编译。

再有就是是在java中并写长sql太恶心了。

3:参数和结果集映射

sql的方法需要传入参数,如果是多规格“或项目”的查询(列表查询的询问条件允许空),那便代表你不能不传参进行sql拼接,就算使用xml的章程吗够呛。要么每个业务单独布置xml中之sql,要么要写入java代码中,或者坐工具的道开展机动拼接。

Mybatis使用映射的方式,方便model管理参数,同时因解析器的方法拿参数动态拼接到sql(sqlmaper里那些标签),由于是model映射,连询问结果尚且可以统一映射,方便取出和运算。而且mybatis对查询结果集进行了缓存处理,使得再查询进一步开展了优化。

4:对几近还sql进行复用封装

本模板方法,将常用sql模块化,直接调用。比如通用的save和getID之类的,只有表名和字段名有变化。

 

网站地图xml地图