Java自1995年发布以来,凭借着其跨平台、面向对象、泛型编程的特性发展至今可以说无Java不大厂。目前国内所有的大厂或多或少都在使用Java进行后端服务开发。

一、Java开发的三大框架

在14年以前,行业内用得最多的Java三大框架是Struts、Spring和Hibernate ,简称SSH;14年以后逐步开始采用Spring、SpringMVC和MyBatis,简称SSM;而现在Java开发用得最多的框架其实是SpringBoot。那么他们具体有什么特点和区别呢?

1、SSH框架的特点

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

  • 框架进行了代码分层,将Java代码和HTML代码进行分层,大大降低了开发人员的技术难度,不需要同时精通Java后端知识和Web前端知识。
  • 由于使用了Struts框架进行了MVC分离,降低了各层代码间的耦合度。
  • 与Spring的AOP机制相互独立,互不影响。
  • 使用SSH框架开发项目,能够大大提高项目的开发效率与开发质量。
  • 良好的扩展性和维护性。

java中级教程CRM项目实战SSH框架综合案例_哔哩哔哩_bilibili引入SVN版本控制工具,所涉及的技术点包含:ssh框架整合环境搭建、hibernate映射关系配置、hibernate多对多配置的拆分方式、struts2文件上传、no session问题分析和解决、hibernateTemplate使用、BaseDao抽取、jQuery easyUi的使用https://www.bilibili.com/video/BV1GW411M7dZ?spm_id_from=333.999.0.0

2、SSM框架的特点

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

  • 对于MVC模式的实现,SpringMvc更加的轻量。
  • 由于SpringMvc本身属于Spring,因此与Spring的配合使用契合度更高。
  • Mybatis相对Hibernate更加轻量,同时将Sql和业务代码进行了很好的解耦。
  • MyBatis的学习门槛更低,相对于传统的JDBC差距不大,更好入门及掌握。

黑马程序员最全SSM框架教程|Spring+SpringMVC+MyBatis全套教程(spring+springmvc+mybatis)_哔哩哔哩_bilibiliSSM本套视频是一款当前主流的基础框架组合,Spring和SpringMVC是当前企业开发必用框架之一,MyBatis则是与数据库交互的持久层框架之一,由于易用性和轻便性,则被大多互联网公司所选用。SSM基础框架的掌握是当前企业开发最基本的要求,也是其他技术学习和进阶的必要基础。https://www.bilibili.com/video/BV1WZ4y1P7Bp?spm_id_from=333.999.0.03、SSH和SSM框架对比

两个框架的主要区别在于两点,第一、MVC分离的实现方式前者为Struts,后者为SpringMvc;第二、持久层的使用前者为Hibernate,后者为MyBatis。所以这两个框架几乎所有的不同都是由这两点产生的,那么具体情况是怎样的呢?

Struts vs SpringMvc

  • 由于SpringMvc针对方法进行设计,而Struts针对类进行设计,相对来讲SpringMvc的速度相对更快。
  • SpringMvc配置更加简单,可以说完全0配置,开发效率更高。
  • SpringMvc的学习门槛更低,使用更简单。
  • SpringMvc扩展性更强,更灵活。

Hibernate vs MyBatis

  • MyBatis更加轻量,学习门槛更低,但相对功能全面性来讲Hibernate更好。
  • 如果你的项目中仅仅使用简单的增删改查功能,选用Hibernate会让你节省不少的开发时间。反之如果需要使用到较多的sql复杂语句,则选用MyBatis更加灵活。
  • MyBatis默认的SQL查询性能更高,而Hibernate会进行所有字段查询,性能就相对较低了。
  • Hibernate有自己的日志统计功能,而MyBatis需要使用Log4j实现。
  • MyBatis缓存特性相对Hibernate更高。

根据上述的对比,不论从学习门槛还是使用效率方面考虑

4、SpringBoot框架

SpringBoot框架是基于Spring4.0设计的,使用SpringBoot框架进行应用开发能够使用Spring框架所有优秀特性,同时还能够减少各种复杂的配置过程,降低各依赖包的冲突、增强系统的稳定性。我们可以将SpringBoot框架理解为我们使用SSM框架的一个脚手架框架使用,使用它能够非常方便的构建我们的应用。那SpringBoot框架具体有哪些特点呢:

  • 可以非常方便和快速的构建Spring相关应用
  • 可以快速构建可执行的Jars和Wars文件
  • 内嵌了Servlet容器,如Tomcat、Jetty、Undertow
  • 使用SpringBoot框架开发项目,可以让Spring的配置操作几乎为零
  • SpringBoot框架提供了运行时监控功能
  • 框架极大的提高了项目开发和部署的效率
  • ……

SpringBoot因为具有很多的优点,目前也是国内最火的开发框架了,

黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)_哔哩哔哩_bilibiliSpringBoot技术是目前市面上从事JavaEE企业级开发过程中使用量最大的技术。本视频围绕SpringBoot技术由浅入深带领学习者从小白身份入门SpringBoot。经过若干个案例的制作与学习,全面掌握在企业级开发过程中如何使用SpringBoot技术将市面上各个层面各个领域的实用技术整合在一起工作,并应用于企业级开发各个层面的实际问题。https://www.bilibili.com/video/BV15b4y1a7yG?spm_id_from=333.999.0.0

JAVA的三大框架是什么?相关推荐

  1. Java web 三大框架异常学习总结

    struts2.1.8+hibernate2.5.6+spring3.0(ssh2三大框架)常见异常原因和解决方案 http://www.cnblogs.com/lanxuezaipiao/p/361 ...

  2. 如何参悟Java的三大框架

    大数据时代,中国IT环境也将面临重新洗牌,不仅仅是企业,更是程序员们转型可遇而不可求的机遇. Java是世界第一编程语言,这已经达成共识,是毋庸置疑的真理.框架是程序员们必学的知识点,而且是十分重要的 ...

  3. ssh,ssm,java的三大框架是什么,功能各是什么

    三大框架是用来开发web应用程序中使用的. Struts:基于MVC的充当了其中的视图层和控制器 Hibernate:做持久化的,对JDBC轻量级的封装,使得我们能过面向对象的操作数据库 Spring ...

  4. 【聊透SpringMVC】自学java和三大框架要多久

    饿了么一面(Java) hashmap源码问题 HashMap底层结构 put操作讲一下 HashMap.HashMap如何保证线程安全.ConcurrentHashMap JVM有哪些回收算法,对应 ...

  5. 【Spring注解驱动开发】自学java和三大框架要多久

    饿了么一面(Java) hashmap源码问题 HashMap底层结构 put操作讲一下 HashMap.HashMap如何保证线程安全.ConcurrentHashMap JVM有哪些回收算法,对应 ...

  6. Java Web 三大框架开发资料

    Spring MVC Controller配置方式 Spring MVC 中,配置Controller时使用的是URL对应Bean的方式. 在SpringMVC中,对于Controller的配置方式有 ...

  7. java语言三大分类javaSE、javaME、javaEE的区别

    JAVA是一门编程语言,分为三大版本,分别是javase.javame.javaee. (1)JavaSE标准版 即Java标准版,主要用于开发和部署桌面.服务器以及嵌入设备和实时环境中的Java应用 ...

  8. Java 三大框架集成项目结构

    用MyEclipse开发的Java 三大框架集成项目,典型结构如下. 一 展开项目名称,首先是src文件夹:存放实现业务功能的java源文件*.java: struts2的action代码文件存放在a ...

  9. 2019年JAVA比较火的框架_2019年Java技术中当前流行的三大框架

    对于参加Java培训掌握技术的小伙伴来说,相信或多或少都会听到关于Java编程语言的三大架构.Java作为编程语言界元老级的存在,这么些年来不仅平稳的发展,而且也渐渐成为众多企业首选的编程语言.另外是 ...

  10. java框架ssm整合_SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)

    使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没 ...

最新文章

  1. Android之Android实现浮层的上下滑动(支持内部添加View)
  2. 你被人工智能给忽悠了吗?原来我们曾经认为的都是假的
  3. 领域应用 | 美团商品知识图谱的构建及应用
  4. 华为高管“泄密”,华为P40 Pro外观定了!
  5. ASP.NET2.0(学习第一天)
  6. 花粉俱乐部服务器维护,花粉俱乐部打不开进不去怎么回事?花粉俱乐部加载数据失败怎么解决?...
  7. CSDN APP又出错了,看不到博文
  8. ImageMagick内存占用过高被杀掉
  9. 服务器如何查询网站域名备案号,如何查询域名备案号
  10. pdf批量转换为图片
  11. 如何在WordPress中显示链接的实时预览
  12. 软件测试工程师如何保证软件的质量?
  13. 电脑卡,电脑卡到不行?原因和解决方法都在这里了!
  14. 国惠光电短波红外相机资料下载
  15. 将一个数组中重复的元素去除,并且返回一个新数组
  16. xDM Land Patterns 封装工具使用笔记
  17. 电动车霍尔转把调速时,电机功率变不变呢?是不是当速度较低时,扭矩较大呢?,电动车加速到匀速过程中功率不变电压不变,反电动势内在改变扭矩大小。从而体现出P=FV。类似燃油汽车膨胀的冲量定理改变力大小
  18. 动环监控系统的服务器部署在,动环监控系统【斯必得智慧机房】
  19. ES大量数据条件检索准确性问题
  20. 450g吐司烘烤温度_解决这24个问题,吐司面包想失败都难!

热门文章

  1. 树莓派4B之雨滴雨水传感器模块(python3)
  2. eclipse中文版官方下载
  3. 手把手带你玩摄像头模组
  4. VBA函数:int()函数
  5. AWVS12 防止反复注册
  6. 获取原始NMEA 0183语句的方法
  7. 【Java 判断素数的几个方法】简单理解
  8. 录像机CIF、D1、720P、960P、1080P分辨率及硬盘所占空间
  9. winhex 15.6 和 HexWorkshop 6.01注册机
  10. Python 数据分析 —— Matplotlib ①