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命令。

 

 

使用流程

  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.putdelete方法怎么转换成getpost方法。

只需要在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.各种报错问题.

配置文件的位置需要定位好,resourcePOM设置. 细节问题.比如action的名字,postget方法用错. 学会查看使用日志.

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的保存等的问题。

  • 15
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值