ssm 框架概述

ssm 框架概述

是什么?

SSM框架是Java EE 领域内三大优秀框架的缩写,它们分别指的是 spring,springMVC,Mybatis 框架的简写。Java EE 框架可以高效的整合各种Java 技术,让开发工作变得简单。Java EE 框架是我们软件的可重用的组件,是软件系统的可重用设计,框架在软件开发中相当于一种半成品,我们通过把框架当做底层模板,在框架之上搭建起我们的软件应用。Java EE它们的目的降低程序的耦合,减少重复代码的编写,提高代码的编写和维护效率。这三大框架分别解决了我们Java web 开发中的不同问题,下面我会一一说明。

三层架构设计

1

三层架构是我们开发中经常使用的一种开发模型,这里为什么要提三层架构呢,因为我们的框架的提出与设计就是对应去解决三层架构的问题。通过三大框架可以使我们三层开发更加高效。

各层实现的功能

数据库持久层:主要负责与数据库进行交互,对数据库进行sql操作,存取数据操作。mybatis JPA

服务层:主要负责业务的逻辑处理,处于三层框架的中间层,连接着web 层与 dao 层。

web层:主要负责接收浏览器的请求和返回响应,在这层只是进行参数的获取传递,和对web 域进行存储数据,在web 层不进行复杂的业务逻辑处理。springMVC,strut2

注意:在三层架构中我们有提及spring这个框架,是因为 spring 框架不属于三层架构中的任意一层。spring属于工作在整个三层架构,它负责整个三层架构中Java 对象的管理。spring 框架为各类框架整合提供一个很好的环境。

tips

特别注意的三层架构与MVC设计模式不是一回事,具体下面会有解释。

持久层框架 (mybatis)

Mybatis 是一个优秀的持久层框架。它采用的框架思想是ORM(对象关系映射),这也是大多数持久层框架采用的思想。何为ORM呢。说简单点ORM实现的功能就是把我们的Java 实体类也数据库的字段对应起来,可以快速的实现Java实体类字段封装到sql 语句,把数据库查询出来的结果集封装到Java实体类。当然mybatis的功能不止这些,它还兼具了连接池,事务管理,查询结果缓存,动态sql ... mybatis体现的设计模式也是非常指的我们学习的比如mybatis 的实现采用了工厂模式,构建者设计模式,动态代理(map 语句代理)...

好处

我们采用mybatis 作为持久层框架可以实现sql语句从代码中分离,解决了sql语句在代码中的硬编码问题,从而实现了解耦的效果。mybatis 底层的ORM 也使我们不再进行重复结果集封装,去除重复的代码。mybatis 对原生sql的封装也是我们操作起来更容易上手。

Web 层框架 springMVC

spring MVC 是一个web 层的框架,它属于由spring 提供的web 层扩展,通过spring MVC 可以解决掉我们在利用 Servlet 原生API进行 web 模块编写时一个请求就要去对应一个Servlet 类的问题,也可以轻松的解决我们频繁手动进行参数绑定,视图映射等问题。spring MVC可以说极大的简化了我们web 功能模块重复代码的编写,使我们的单个 web 功能模块更加高内聚低耦合。

MVC 架构

MVC 分别代表的是 模型 model 视图 view 控制器controller,model 模型主要代表的是我们的 service 层 dao 层 和我们的 实体类 它们设计主要的业务处理。view 主要代表的是用户直观看见交互的页面如 html,jsp... controller 主要指的是我们的web 负责处理请求与响应。

image-20200818170458750

MVC 原理图

image-20200818170519593

从上面的图示,我们也可以直观感受到 MVC 架构并不等同于我们的三层架构,相比较于三层架构,MVC 还考虑到了我们的视图。

spring框架

上面我们说了,spring 框架不属于三层架构的任意一层,它工作在整个三层架构,这是怎么回事?因为 spring ,它的核心在IOC 和 AOP,IOC代表的是一个Java bean 容器,通过IOC 可以实现 控制反转和依赖注入,如此我们不在需要手动去new 对象,统一把 Java 对象交由 IOC 容器进行管理(依赖关系),解耦我们的程序,基于这一特性,也利于我们spring 整合各类框架实现业务开发。AOP 的主要通过反射家动态代理实现已有方法增强,减少冗余代码,常用来进行 事务管理也日志记录。基于spring 的优良特性也诞生了我们优秀的微服务框架spring Boot,通过spring Boot 我们可以高效进行框架整合(启动器start)。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值