2、ssm总结
ssm总结
什么是ssm?
ssm的全称是:spring+springmvc+mybatis的整合。
spring
spring是一个轻量级的框架。是早期的EJB的替代品。支持可拔式式的组件开发。我们所追求的高内聚,低耦合。高内聚就是使代码分层,分工明确。而实现低耦合,就是降低层与层之间的直接关系,而spring就能帮我们实现,达到解耦的目的。
怎样实现解耦呢?
两个概念IOC和DI。
IOC:控制反转。将对象的创建将给spring容器,不通过直接new的方式。交对象的调用权交给服务方。
DI:依赖注解。解决层与层之间的关系交由spring容器。
spring可以管理事务。
我们都知道事务有很多增删改的方法都要。怎样才能做到只写我们的逻辑代码,而在程序运行时自动的将我们的事务代码写进去呢?
答:动态代理技术。动态代理技术就是在编译期间不做任何的代码编写,而在JVM运行的时候将我们需要的代码如日志,事务等自动的写进去。这样不仅加快开发效率,还易于维护。
动态代理有两种方式,一种是JDK官方的动态代理,还有一种是CGLIB第三方的动态代理。
而两种代理都有各自的缺点。spring的AOP技术就是在这两种动态代理的技术上解决了他们的缺点。
什么是AOP?
AOP:面向切面编程。是OOP的一种衍生。将业务层的代码与其他的逻辑代码分离。在编写代码是分离,而运行在JVM时将所需要的业务逻辑切入到业务层中。
springmvc
springmvc是spring的一个web组件,springmvc是操作web层的一个组件,使我们的前端代码与后台代码分离的一个spring的模块组件。主要的功能是简化我们传统接收参数,表单的校验,文件的上传下载,国际化等,还支持RESTFUL的url请求风格。底层的实现是基于servlet。
执行流程:(门面设计模式)
前后端分离主要是使用了一个叫前端控制器的东西。所有的请求都交由它来处理,然后分配调度各个解析器来完成请求响应。
处理器映射器:根据前端控制器传过来的handler来生成对应的handle对象。(策略模式)
处理器适配器:根据对应的handle对象为其找到对应的handle处理器。
handle处理器:处理handle对象,得到请求,在响应出去。
视图解析器:得到handle的响应,解析响应内容,然后再交有前端控制器。
mybatis
是一个半自动化的持久层框架,与早期的hibernate框架不同,hibernate框架是一个自动化的持久层框架,hibernate框架的sql语句满足不了我们过于复杂的业务,而mybatis能让开发者自己编译sql语句,然后其余的工作都交由mybatis去完成,不仅能够满足我们的业务需求,还比传统的做法的代码量更少,mybatis的设计理念就是写10%的代码,就能完成对数据库的操作。

浙公网安备 33010602011771号