1.背景介绍

SSM框架是什么

SSM框架,是Spring + Spring MVC + MyBatis的缩写,目前主流的Java EE企业级框架,适用于搭建各种大型的企业级应用系统。使用ssm框架的好处是在于其易复用和简化开发,掌握了每个框架的核心思想。

Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地`new`一个对象,而是让Spring框架帮你来完成这一切。

Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

mybatis是对jdbc的封装,MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(普通的 Java对象)映射成数据库中的记录。

2.知识剖析

SpringMVC:

1.客户端发送请求到DispacherServlet(分发器)

2.由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller

3.Controller调用业务逻辑处理后,返回ModelAndView

4.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图

5.视图负责将结果显示到客户端

Spring:我们平时开发接触最多的估计就是IOC容器,它可以装载bean(也就是我们Java中的类,当然也包括service dao里面的),有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。另外spring的aop,事务管理等等都是我们经常用到的。

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

使用流程

  1. 先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。
  2. 写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。
  3. 写Mapper.java,将Mapper.xml中的操作按照id映射成Java函数。
  4. 写Service.java,为控制层提供服务,接受控制层的参数,完成相应的功能,并返回给控制层。
  5. 写Controller.java,连接页面请求和服务层,获取页面请求的参数,通过自动装配,映射不同的URL到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层。
  6. 写JSP页面调用,请求哪些参数,需要获取什么数据。

DataBase ===> Entity ===> Mapper.xml ===> Mapper.Java ===> Service.java ===> Controller.java ===> Jsp.

3.常见问题

1.put,delete方法怎么转换成get,post方法。

只需要在web.xml中配置下面的内容就可以了:

<filter>
  <filter-name>HiddenHttpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>HiddenHttpMethodFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

2.各种报错问题.

配置文件的位置需要定位好,在resource中POM设置. 细节问题.比如action的名字,post和get方法用错. 学会查看使用日志.

4.编码实战

5.扩展思考

SSM框架的优势:

从三个方面分析:

1.Spring的优势:

通过Spring的IOC特性,将对象之间的依赖关系交给了Spring控制,方便解耦,简化了开发

2.Spring MVC的优势:

SpringMVC是使用了MVC设计思想的轻量级web框架,对web层进行解耦,使我们开发更简洁

与Spring无缝衔接

灵活的数据验证,格式化,数据绑定机制

3.Mybatis的优势:

数据库的操作(sql)采用xml文件配置,解除了sql和代码的耦合

提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建

提供了xml标签,支持动态的sql

6.    参考文献

https://blog.csdn.net/lsj741223/article/details/80805110

https://blog.csdn.net/bieleyang/article/details/77862042

https://www.jianshu.com/p/bdee08936647

https://www.cnblogs.com/zyw-205520/p/4771253.html

7.更多讨论

spring容器和springmvc容器的关系:

Spring属于父容器,在进行注解扫描时主要对service层、dao层的bean进行扫描和管理,而springmvc主要是对controller层的bean进行扫描和管理的。

return什么类型?

ssm涉及到幂等性了么?

严格意义上ssm只是一种框架的思想,它并不会涉及到幂等性,但我们学习ssm,使用rest风格向服务器发起请求,此时我们就涉及到了幂等性,那么在这时候幂等性就比较重要了,因为它会涉及到资源的携带,请求重复性提交,session的保存等的问题。

ssm框架的简单介绍相关推荐

  1. python django框架分析_Django框架模型简单介绍与使用分析

    本文实例讲述了Django框架模型简单介绍与使用.分享给大家供大家参考,具体如下: ORM介绍 ORM Object relational mapping 对象关系映射 把面向对象中的类和数据库表一一 ...

  2. Universal-Image-Loader(UIL)图片加载框架使用简单介绍

    这个也是最近项目中使用到的第三方图片加载框架,在这里也自己总结一下,简单的介绍一些使用的方式. UIL图片加载框架特点 简介: 项目地址:https://github.com/nostra13/And ...

  3. SSM框架整合+简单案例实现

    SSM框架整合+简单案例实现 文章目录 前言 一.Spring+SpringMVC+Mybatis框架整合 1.建立一个新的web项目 2.所需jar包 3.建立数据库表与实体类之间的映射 4.web ...

  4. 手把手教你搭建SSM框架,简单有效理解SSM框架

    文章目录 1.基本概念 1.1.Spring概念 1.2.SpringMVC概念 1.3.MyBatis概念 2.开发步骤 2.1.maven项目创建 2.2.SSM框架的配置 2.2.1 配置前准备 ...

  5. client高性能组件化框架React简单介绍、特点、环境搭建及经常使用语法

    [本文源址:http://blog.csdn.net/q1056843325/article/details/54729657 转载请加入该地址] 明天就是除夕了 预祝大家新春快乐 [ ]~( ̄▽ ̄) ...

  6. 关于Flex-Mvc的几个框架的简单介绍

    目前,FLEX有好几个框架,官方和非官方的,其介绍详见http://www.infoq.com/news/2008/01/flex-mvc 从网上又收集了一些简单的评论,我还没有用过,打算最近对比后找 ...

  7. 浅谈IDEA+Maven 整合SSM框架实现简单的增删改查

    SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...

  8. Java定时任务调度实战(2)Quart框架的简单介绍

    一.前言 在之前的文章<Java定时任务调度(1)TimerTask原理与实战>中已经介绍了一种实现定时任务调度的方法--Java原生提供的 TimerTask,这个工具适用于一些简单的业 ...

  9. ssm框架的简单案例

    学完ssm框架后做了一个简单的案例,实现简单的增删改查. 项目结构图: 看项目结构: 关键代码: 前端是jsp技术,当然也可以用vue分离的自己选择就好. 订单页面: <%@ page lang ...

最新文章

  1. Java字符串那些事儿
  2. 158.5. manifests
  3. 计算机学科技术前沿:云计算主要平台及特性
  4. php精准函数,PHP常用函数大全
  5. 【loj3056】【hnoi2019】多边形
  6. python中列表用什么表示_python中的列表
  7. 2021-09-09394. 字符串解码 栈
  8. wps加载项的官方demo下载运行方式
  9. 网络安全知识点(全)
  10. 驱动精灵w8ndows xp sp2,爱普生Epson TM-T90打印机驱动官方正式版下载,适用于winxp,winvista,win7,win8,win10-驱动精灵...
  11. 增强 扫描王 源码_java,OpenCV简单实现类似“全能扫描王”功能
  12. Jspreadsheet v4:JavaScript 电子表格
  13. Allure测试报告定制化
  14. Google earth engine(GEE):基于MODIS的LST(地表温度数据)计算一定时间序列的城市热岛强度(UHI),并绘制直方图
  15. 使用Excel数据分析工具进行多元回归分析
  16. Python PTA实验课 求小于某一大于2的自然数的所有素数
  17. pc网站和手机端h5网站开发接入微信支付
  18. linux文本界面发邮件,柴少鹏的官方网站-linux发送邮件内容变成了tcmime.xxxx.xxxx.xxxx.bin的附件形式...
  19. spark 2.3源码分析之SortShuffleWriter
  20. 3.2 Python图像的频域图像增强-高通和低通滤波器

热门文章

  1. 信道编码算法的发展和应用
  2. 《算法竞赛入门经典(第二版)》pdf
  3. 索引原理-索引数据结构
  4. JAVA学习笔记(三十一)-电影系统案例
  5. Linux命令中特殊符号
  6. html点击按钮跳出消息框
  7. Python实验及注意点总结
  8. pgpool添加用户
  9. PopupWindow
  10. 云服务器和云虚拟主机有什么区别