ssm框架的简单介绍
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命令。
使用流程:
- 先写实体类entity,定义对象的属性,(可以参照数据库中表的字段来设置,数据库的设计应该在所有编码开始之前)。
- 写Mapper.xml(Mybatis),其中定义你的功能,对应要对数据库进行的那些操作,比如 insert、selectAll、selectByKey、delete、update等。
- 写Mapper.java,将Mapper.xml中的操作按照id映射成Java函数。
- 写Service.java,为控制层提供服务,接受控制层的参数,完成相应的功能,并返回给控制层。
- 写Controller.java,连接页面请求和服务层,获取页面请求的参数,通过自动装配,映射不同的URL到相应的处理函数,并获取参数,对参数进行处理,之后传给服务层。
- 写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框架的简单介绍相关推荐
- python django框架分析_Django框架模型简单介绍与使用分析
本文实例讲述了Django框架模型简单介绍与使用.分享给大家供大家参考,具体如下: ORM介绍 ORM Object relational mapping 对象关系映射 把面向对象中的类和数据库表一一 ...
- Universal-Image-Loader(UIL)图片加载框架使用简单介绍
这个也是最近项目中使用到的第三方图片加载框架,在这里也自己总结一下,简单的介绍一些使用的方式. UIL图片加载框架特点 简介: 项目地址:https://github.com/nostra13/And ...
- SSM框架整合+简单案例实现
SSM框架整合+简单案例实现 文章目录 前言 一.Spring+SpringMVC+Mybatis框架整合 1.建立一个新的web项目 2.所需jar包 3.建立数据库表与实体类之间的映射 4.web ...
- 手把手教你搭建SSM框架,简单有效理解SSM框架
文章目录 1.基本概念 1.1.Spring概念 1.2.SpringMVC概念 1.3.MyBatis概念 2.开发步骤 2.1.maven项目创建 2.2.SSM框架的配置 2.2.1 配置前准备 ...
- client高性能组件化框架React简单介绍、特点、环境搭建及经常使用语法
[本文源址:http://blog.csdn.net/q1056843325/article/details/54729657 转载请加入该地址] 明天就是除夕了 预祝大家新春快乐 [ ]~( ̄▽ ̄) ...
- 关于Flex-Mvc的几个框架的简单介绍
目前,FLEX有好几个框架,官方和非官方的,其介绍详见http://www.infoq.com/news/2008/01/flex-mvc 从网上又收集了一些简单的评论,我还没有用过,打算最近对比后找 ...
- 浅谈IDEA+Maven 整合SSM框架实现简单的增删改查
SSM SSM(Spring+SpringMVC+MyBatis)框架集由Spring.MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容).常作为数据源较简单的web项 ...
- Java定时任务调度实战(2)Quart框架的简单介绍
一.前言 在之前的文章<Java定时任务调度(1)TimerTask原理与实战>中已经介绍了一种实现定时任务调度的方法--Java原生提供的 TimerTask,这个工具适用于一些简单的业 ...
- ssm框架的简单案例
学完ssm框架后做了一个简单的案例,实现简单的增删改查. 项目结构图: 看项目结构: 关键代码: 前端是jsp技术,当然也可以用vue分离的自己选择就好. 订单页面: <%@ page lang ...
最新文章
- Java字符串那些事儿
- 158.5. manifests
- 计算机学科技术前沿:云计算主要平台及特性
- php精准函数,PHP常用函数大全
- 【loj3056】【hnoi2019】多边形
- python中列表用什么表示_python中的列表
- 2021-09-09394. 字符串解码 栈
- wps加载项的官方demo下载运行方式
- 网络安全知识点(全)
- 驱动精灵w8ndows xp sp2,爱普生Epson TM-T90打印机驱动官方正式版下载,适用于winxp,winvista,win7,win8,win10-驱动精灵...
- 增强 扫描王 源码_java,OpenCV简单实现类似“全能扫描王”功能
- Jspreadsheet v4:JavaScript 电子表格
- Allure测试报告定制化
- Google earth engine(GEE):基于MODIS的LST(地表温度数据)计算一定时间序列的城市热岛强度(UHI),并绘制直方图
- 使用Excel数据分析工具进行多元回归分析
- Python PTA实验课 求小于某一大于2的自然数的所有素数
- pc网站和手机端h5网站开发接入微信支付
- linux文本界面发邮件,柴少鹏的官方网站-linux发送邮件内容变成了tcmime.xxxx.xxxx.xxxx.bin的附件形式...
- spark 2.3源码分析之SortShuffleWriter
- 3.2 Python图像的频域图像增强-高通和低通滤波器