简介

ssm框架就是标准的MVC模式,标准的SSM框架有四层,分别是dao层、service层、controller层和View层。

使用spring实现业务对象管理,

使用spring MVC负责请求的转发和视图管理,

mybatis作为数据对象的持久化引擎

1)持久层:dao层(mapper)层

作用:主要是做数据持久层的工作,负责和数据库进行联络的一些任务都封装在这里

  • Dao层首先设计的是接口,然后再Spring的配置文件中定义接口的实现类
  • 然后可以再模块中进行接口的调用来进行数据业务的处理(不在关系接口的实现类是哪个类)
  • 数据源的配置以及有关数据库连接的参数都在Spring的配置文件中进行配置

2)业务层:Service层

作用:Service层主要负责业务模块的逻辑设计

  • 先设计接口然后再设计实类,然后再在Spring的配置文件中配置其实现的关联(业务逻辑层的实现具体要调用到自己已经定义好的Dao的接口上) 这样就饿可以在应用中调用Service接口来进行业务处理
  • 建立好Dao之后再建立service层,service层又要再controller层之下,因为既要调用Dao层的接口又要提供接口给controller层,每个模型都有一个service接口,每个接口分贝封装自己的业务处理的方法

3)表现层:Controller层(Handler层)

作用:负责具体的业务模块流程的控制

  • 配置也是同样再Spring的配置文件里面进行
  • 调用Service层提供的接口来控制业务流程
  • 业务流程的不同会有不同的控制器,在具体的开发中可以将我们的流程进行抽象的归纳,设计出可以重复利用的子单元流程模块

4)View层

作用:主要和控制层紧密结合,主要负责前台jsp页面的表示

1、Spring

Spring的IOC容器和AOP切面是我们平时使用最多的

1)ioc(控制反转)

这是用来装载bean,是一种降低对象之间耦合关系的设计思想

2)aop(面向切面)

是面向对象开发的一种补充,它允许开发人员在不改变原来模型的基础上动态的修改模型以满足新的需求,Aop能是业务逻辑各个部分之间的耦合度降低,提高程序的可重用性,提高开发效率

  • 横切关注点:这是从每个方法中抽取出来的同一类的非核心业务代码
  • 切面:封装横切信息点的类,每个关注点体现为一个通知方法
  • 通知:切面必须要完成的各个具体工作,也就是切面里的一个个方法
  • 目标:被通知的对象,也就是被通知方法所作用的对象
  • 代理:像目标对象应用通知之后锁创建的代理对象
  • 连接点:横切关注点在程序代码中的具体体现,对应用程序执行的某个特定位置(即每个方法)
  • 切入点:切入点就是定位连接点的方式,每个通知上的切入点表达式找到对应的连接点,执行通知之后连接点也就变成了切入点

2.SpringMvc

  • 用户发送请求至前端控制器DispatcherServlet
  • DispatcherServlet收到请求调用HandlerMapping处理器映射器
  • 处理器应黑色其找到具体的处理器(可以根据xml配置,注解进行查找),生成处理器对象及处理器拦截器(如果有生成)一并返回给DispatcherServlet
  • DispatcherServlet调用HandlerAdapter处理器适配器
  • HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)
  • DispatcherServlet将ModelAndView传给ViewReslover视图解析器
  • ViewReslover解析后返回具体View
  • DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)
  • DispatcherServlet响应用户

精简版

  1. 客户端发送请求到DispatcherServlet(分发器)
  2. 由DispacherServlet控制器查询HandlerMapping,找到处理请求的Controller
  3. Controller调用业务逻辑处理后,返回到ModelAndView
  4. DispatcherServlet查询视图解析器,找打ModelAndeView指定的视图
  5. 视图负责将结果显示到客户端

3、Mybatis(核心是SqlSession)

mybatis是对jdbc的封装,他让数据库底层操作变得透明,mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各个实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。再每次与数据库交互时,通过sqlSessionFactory拿到了一个sqlSession,在执行sql命令。

SSM 框架原理简介及解析相关推荐

  1. SSM框架学习(一)————SSM框架简介

    目录 一.SSM框架简介 1.1 Spring 1.2 SpringMVC 1.3 MyBatis 二.MVC模式 2.1 mvc模式 2.1.1 MVC应用举例 2.2 SSM和SSH在MVC模式上 ...

  2. EDID的简介和解析

    from:EDID的简介和解析 - 花生红枣眼泪和小米 - 博客园 去年对EDID做了一个解析,下面是学习EDID过程中整理的资料. 一.EDID简介 EDID: Extended Display I ...

  3. Android系统 (190)---Android:JSON 简介 amp; 解析方式 讲解(Gson、AS自带org.json、Jackson)

    Android:JSON 简介 & 解析方式 讲解(Gson.AS自带org.json.Jackson) 前言 现今最主流的数据交换格式 非 JSON莫属 今天,我将全面介绍 JSON &am ...

  4. SSM框架搭建详细解析

    总结了一下搭建SSM框架流程,在以后用到的时候方便回头使用. 使用工具:MyEclipse 2015:Tomcat 8版本:jdk1.8版本. 首先: 1:创建一个WebProject项目,jdk1. ...

  5. XML文件简介和解析

    文章目录 1 XML文件 1.1 XML文件简介 1.2 dom4j解析XML文件 1 XML文件 1.1 XML文件简介 XML文件是可扩展标记语言,用于 1,保存数据 通过标签的属性和文本内容持久 ...

  6. 【转载】EDID的简介和解析

    原文:https://www.cnblogs.com/beyond-rxl/p/9266997.html 去年对EDID做了一个解析,下面是学习EDID过程中整理的资料. 一.EDID简介 EDID: ...

  7. Java Docx文件简介和解析

    Docx简介 以Microsoft Office的doc/docx 为主要处理对象 Word2003和之前都是doc,文档格式不公开 Word2007和之后都是docx,文档格式公开,遵循XML路线 ...

  8. SSM前后端交互解析

    项目场景: SSM前后端项目交互详解 问题描述: 旨在交流学习,如有错误欢迎指出 Po Controller Mapper Service Utils之间的调用解析 例:管理员登录请求 前台发送log ...

  9. JAVA 表格文件简介和解析

    表格文件 xls/xlsx 文件(Microsoft Excel) 07及以后的是带x,以XML文件做标准的 CSV文件(Comma-Seperated Values文件) 以逗号分隔的文本文件 数据 ...

最新文章

  1. Adapter适配器和base-adapter-helper库的使用
  2. python列表常用方法_python之 列表常用方法
  3. CodeForces - 1284B New Year and Ascent Sequence(乱搞)
  4. C语言中 *.c和*.h文件的区别!
  5. 数据结构与算法--求1~n能组成的所有二叉搜索树的排列
  6. Linux 下wifi 驱动开发(四)—— USB接口WiFi驱动浅析
  7. 程序员初涉江湖 宜步步为赢(转-2) 作者:IT168 职业发展顾问Leo
  8. 播放抓取的H263 RTP视频
  9. [视频教程] C语言全套视频教程(已更新完毕
  10. 如何委婉地拒绝公司的offer?
  11. 一文读懂5G专网发展现状与挑战
  12. 曝猛! 许多行情软件自带的SAR指标是错的
  13. Linux7网卡绑定后mac一样,如何解决双网卡bond0绑定模式物理成员口的mac地址和bonding接口mac地址不一致......
  14. vulnhub靶机渗透 | It's October
  15. rm -rf /* 数据恢复记录
  16. html正则表达式判断手机号,js正则表达式根据手机号判断校验运营商
  17. 汽车基础软件「众生相」
  18. 两种方法设置Word文档的“只读模式”
  19. TabLayout单独使用
  20. UINO优锘科技助力银行业开启智慧运维,踏入智慧金融时代

热门文章

  1. android 9.0 app应用安装白名单
  2. 语句摘抄——第10周
  3. HUAWEI MH5000-31 5G LGA Module Application Guide-(V100R001_01, English)
  4. AD软件画电路图笔记
  5. 商品期货基本面研究纲要
  6. RxJS + Redux + React = Amazing!(译二)
  7. FxFactory 7 Pro for Mac(fcpx/ae/pr视觉特效插件包)v7.2.5
  8. 职场人士升职加薪必备的工作软件,总有一款适合你
  9. 英特尔的新硬件套装使制作机器人和无人机更加简单
  10. PAC(期间平均成本)