SSH与SSM的区别

SSH与SSM的区别
SSH是Spring+Struts2+Hibernate的缩写,是一种较主流的Java企业级应用框架。
SSM是Spring+SpringMVC+MyBatis的缩写,是继SSH之后,目前比较主流的Java企业级应用框架。 本质上都是Spring框架+MVC模式框架+ORM技术框架 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate负责持久化层; SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,MyBatis 负责持久化层。
一、Spring的核心功能
控制反转(IOC) & 依赖注入(DI) 控制反转(IOC) 将主动权交于工厂 依赖注入(DI) IOC是将对象实例化的动作交由了Spring框架,它的作用是降低了程序的耦合,不需要我们手动的创建对象,但是程序的耦合性还是存在
对象中肯定会有一些其余对象的引用,那么这种引用就称为对象的依赖
如果一个类中的某个属性是另一个类,该属性无需手动赋值,通过Spring的配置文件或者注解,通过Spring框架可以实现直接注入属性 面向切面编程(AOP) 在不修改代码的情况下进行延伸
二、Spring的优势
方便解耦,简化开发 方便程序的测试 声明式事务的支持 一个轻量级框架
SpringMVC的设计模式: 概念: MVC是模型(Model)、视图(View)、控制器(Controller)的缩写,是一种分离显示业务逻辑、数据和界面的设计模式
请求响应流程:
图片解析: 首先由客户发起请求,在由控制器接收,控制器转给模型(Model),模型从数据库中提取,再转还模型,模型转给控制器,控制器交给视图(View)进行渲染,渲染后返回控制器,控制器在提交给客户。 组件关系: 模型(Model)表示应用程序核心,是应用程序中用于处理应用程序数据逻辑的部分,通常负责在数据库中存取数据。 视图(View)用来显示数据,是应用程序中处理数据显示的部分,通常View是依据Model的数据而创建的。 控制器(Controller)用来处理用户输入并调用模型和视图来满足用户的需求,是应用程序中处理用户交互的部分,通常Controller负责从View读取数据,控制用户输入,并向Model发送数据。 优势: 清晰的角色划分;可适配、非侵入;可重用的业务代码;灵活的model转换;强大而直接的配置方式。 SpringMVC与Spring的关系: 他们两个人有着直系亲属的关系,两者吻合度高。
ORM程序技术 JDBC操作数据库的基本步骤: 加载(注册)数据库驱动(到JVM)。 建立(获取)数据库连接。 创建(获取)数据库操作对象。 定义操作的SQL语句。 执行数据库操作。 获取并操作结果集。 关闭对象,回收数据库资源(关闭结果集–>关闭数据库操作对象–>关闭连接)。
概念: ORM是对象(Object)、关系(Relational)、映射(Mapping)的缩写,是一种用于实现面向对象编程语言里不同类型系统的数据之间转换的程序技术
优势: 数据模型都在一个地方定义,更容易更新和维护,也利于重用代码。 ORM 有现成的工具,很多功能都可以自动完成,比如数据消毒、预处理、事务等等。 它迫使你使用MVC 架构,ORM 就是天然的Model,最终使代码更清晰。 基于ORM 的业务代码比较简单,代码量少,语义性好,容易理解。
MyBatis简介 概念: MyBatis框架是一个开源的数据持久层框架。 它的内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。 MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来,配置在配置文件当中,实现SQL的灵活配置。
Hibernate与MyBatis对比:
Hibernate优点: 对象化。 人员以面相对象的思想来操作数据库。 … 更好的移植性. 对于不同的数据库,开发者只需要使用相同的数据操作即可. 开发效率高。 … 缓存机制的使用。 Mybatis优势 简单易学 mybatis本身就很小且简单。 … 灵活 mybatis不会对应用程序或者数据库的现有设计强加任何影响。 … 解除sql与程序代码的耦合 … 提供映射标签,支持对象与数据库的orm字段关系映射 提供对象关系映射标签,支持对象关系组建维护 提供xml标签,支持编写动态sql。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值