Java业内主流框架你知道吗?SSH和SSM有什么区别?

2023-11-07

大家好,我是威哥,今天我给大家分享Java的三大框架是什么。

在SpringBoot出现之前,我们常说的三大框架是 Spring、SpringMVC、Mybatis(SSM),而在SpringBoot出现之后,SpringBoot慢慢开始占据了主流地位,另外在SSM之前还有一个业内流行的SSH框架。

接下来威哥就给大家具体聊聊这些框架,在这篇文章中,威哥会涉及到如下几个问题:

一、什么是SSH?

Struts、Spring和Hibernate ,简称SSH。

在10多年前,SSH绝对是业内最流行的企业级开发框架。

SSH框架是以Struts框架进行MVC分离、控制业务跳转,同时使用Hibernate进行持久化,最后配合Spring的统一管理进行实现的开发框架。相对于传统的J2EE开发框架来讲性能相对较高、资源消耗相对较少。具体优势如下:

  • 框架进行了代码分层,将Java代码和HTML代码进行分层,大大降低了开发人员的技术难度,不需要同时精通Java后端知识和Web前端知识。

  • 由于使用了Struts框架进行了MVC分离,降低了各层代码间的耦合度。

  • 与Spring的AOP机制相互独立,互不影响。

  • 使用SSH框架开发项目,能够大大提高项目的开发效率与开发质量。

  • 良好的扩展性和维护性。

二、什么是SSM?

SSM框架是Spring+SpringMVC+MyBatis三个框架整合而成的,其实SpringMVC属于Spring框架,所以SSM框架其实就是Spring和Mybatis两个框架的整合运用。那SSM框架的优势又有哪一些呢?

  • 对于MVC模式的实现,SpringMvc更加的轻量。由于SpringMvc本身属于Spring,因此与Spring的配合使用契合度更高。

  • Mybatis相对Hibernate更加轻量,同时将Sql和业务代码进行了很好的解耦。MyBatis的学习门槛更低,相对于传统的JDBC差距不大,更好入门及掌握。

三、SSH框架和SSM框架的区别

两个框架的主要区别在于两点。

  • 第一,MVC分离的实现方式中前者为Struts,后者为SpringMVC;

  • 第二,持久层的框架前者为Hibernate,后者为MyBatis,所以这两个框架几乎所有的不同都是由这两点产生的。

四、Struts对比SpringMVC

  • 由于SpringMVC针对方法进行设计,而Struts针对类进行设计,相对来讲SpringMVC的速度相对更快。

  • SpringMVC配置更加简单,可以说完全0配置,开发效率更高。SpringMVC的学习门槛更低,使用更简单。

  • SpringMVC扩展性更强,更灵活。

五、Hibernate对比MyBatis

MyBatis更加轻量,学习门槛更低,但相对功能全面性来讲Hibernate更好。如果你的项目中仅仅使用简单的增删改查功能,选用Hibernate会让你节省不少的开发时间。

反之如果需要使用到较多的sql复杂语句,则选用MyBatis更加灵活。MyBatis默认的SQL查询性能更高,而Hibernate会进行所有字段查询,性能就相对较低了。

Hibernate有自己的日志统计功能,而MyBatis需要使用Log4j实现。MyBatis缓存特性相对Hibernate更高。

扫码开启学习

免费Java资源获取

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java业内主流框架你知道吗?SSH和SSM有什么区别? 的相关文章

随机推荐

  • 华为OD机试真题 Java 实现【找数字】【2023Q2 100分】

    目录 专栏导读 一 题目描述 输入数组nums为 输出 二 输入描述 三 输出描述 四 补充说明 五 解题思路 六 Java算法源码 七 效果展示 1 输入 2 输出 3 说明 华为OD机试 2023B卷题库疯狂收录中 刷题点这里 专栏导读
  • PAT1033 旧键盘打字 (20 分)

    题目描述 旧键盘上坏了几个键 于是在敲一段文字的时候 对应的字符就不会出现 现在给出应该输入的一段文字 以及坏掉的那些键 打出的结果文字会是怎样 输入格式 输入在 2 行中分别给出坏掉的那些键 以及应该输入的文字 其中对应英文字母的坏键以大
  • chatgpt赋能python:Python学习:如何建立一个空集合?

    Python学习 如何建立一个空集合 作为一门流行的编程语言 Python在数据处理 机器学习和Web应用开发等领域广泛应用 其中 集合是Python中常用的数据类型之一 它是由不同元素组成的无序集合 其中每个元素都是唯一的 当需要处理一些
  • Git&TortoiseGit安装和配置

    前言 日常开发提交代码的过程中 Git工具是必不可少的 有些小伙伴喜欢可视化界面 TortoiseGit工具就是不二之选了 下面提供纯Git配置和Git TortoiseGit两种方式 1 纯Git安装与配置 下载 Git官网 下载安装完成
  • Python Email应用的中文乱码问题解决方法

    或者是对python的unicode理解得不透彻 时常遇到各种各样的中文乱码问题 今天 在email应用中 中文乱码又出来捣乱了 经过一段时间的误打误撞 搞出了一个解决方法 coding utf 8 Created on 2010 6 21
  • [docker]笔记-存储管理

    1 docker数据存储分为非永久性存储和永久性存储 非永久性存储 容器创建会默认创建非永久性存储 该存储从属于容器 生命周期与容器相同 会随着容器的关闭而消失 可理解为内存中数据 会随关机而消失 多用来保存不需要存储的数据 永久性存储 创
  • eclipse中注释模板的修改

    window gt preferences gt java gt code style gt code template gt comments code 手机扫一扫 关注程序员技能成长
  • Android 取主色逻辑

    Palette是Google官方提供的一个类 用于帮助开发者提取图片的主色 1 生成 Palette 根据bitmap生成 Palette 同步方法 应该在子线程中使用 Palette p Palette generate bitmap 异
  • date时间格式化 只想要年月日

    传进来的时间是String类型 DateTimeFormatter format DateTimeFormat forPattern yyyy MM dd HH mm ss DateTime paraDate DateTime parse
  • ssm(spring+springMVC+Mybatis)框架 集成Quartz(定时任务框架)

    1 ssm框架基础jar 包 aopalliance jar aspectjrt jar aspectjweaver jar commons beanutils 1 9 2 jar commons codec 1 9 jar commons
  • Python基础--入门基础和数据类型测试题(一)

    Made By Zly All Right Reversed 上一篇 篇三 Python 入门基础和数据类型测试题 一 1 在Python语言中 不能作为变量名的是 A P B Temp C 3p D fg 2 以下关于Python缩进的描
  • 【华为OD统一考试B卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • Java 生成测试字符串的库:Java Faker

    一 背景 Java的单元测试经常需要构造各种测试数据 其中一项就是构造测试的字符串 如果手动创建非常麻烦 也有一些框架支持创建指定长度的随机字符串 但是并不是我们想要的效果 我们想要的是人名 地名等 那么有一个库叫java fake可以实现
  • 从MCU上电启动流程出发编写bootloader(上)

    配置开发板的BOOT 从EFLASH 即片内Flash存储器 启动 在KEIL中也需要进行相应的设置 将接下来要编写的bootloader烧写至EFLASH bootloader段需要设置从0x8000000开始 空间根据bootloade
  • 50个热门语义分割数据集免费、高速下载资源分享,涵盖通用视觉、遥感、自动驾驶、医疗等多种场景题

    小伙伴们期待已久的数据集资源盘点系列又来啦 本期将分享50个语义分割任务相关的热门公开数据集资源 粗略分了4类 通用视觉类 智慧遥感类 自动驾驶类 其他 快来看看有没有你想要的吧 如果觉得不错的话 记得收藏 一 通用视觉类 No 1 PAS
  • 【java筑基】IO流基础之文件的常见操作

    前 言 作者简介 半旧518 长跑型选手 立志坚持写10年博客 专注于java后端 专栏简介 深入 全面 系统的介绍java的基础知识 文章简介 本文将深入全面介绍IO流知识 建议收藏备用 创作不易 敬请三连哦 大厂真题 大厂面试真题大全
  • Linux 对函数库的理解

    一 前言 我们的C程序中 并没有定义 printf 的函数实现 且在预编译中包含的 stdio h 中也只有该函数的声明 而没有定义函数的实现 那么 是在哪里实 printf 函数的呢 最后的答案是 系统把这些函数实现都被做到名为 libc
  • Mybatis配置文件入门

    mybatis config xml
  • 基于SSM框架的《超市订单管理系统》Web项目开发(第二天)完成登录模块和用户退出模块

    超市订单管理系统 第二天 基于SSM框架的Web项目开发 昨天我们实现了登录功能 但是用的是模拟数据 今天我们要链接数据库整合Spirng Mybatis 读取数据库中的真实数据 用来跟我们输入的userCode和userPassword进
  • Java业内主流框架你知道吗?SSH和SSM有什么区别?

    大家好 我是威哥 今天我给大家分享Java的三大框架是什么 在SpringBoot出现之前 我们常说的三大框架是 Spring SpringMVC Mybatis SSM 而在SpringBoot出现之后 SpringBoot慢慢开始占据了