JAVA的三大框架是什么?
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的三大框架是什么?相关推荐
- Java web 三大框架异常学习总结
struts2.1.8+hibernate2.5.6+spring3.0(ssh2三大框架)常见异常原因和解决方案 http://www.cnblogs.com/lanxuezaipiao/p/361 ...
- 如何参悟Java的三大框架
大数据时代,中国IT环境也将面临重新洗牌,不仅仅是企业,更是程序员们转型可遇而不可求的机遇. Java是世界第一编程语言,这已经达成共识,是毋庸置疑的真理.框架是程序员们必学的知识点,而且是十分重要的 ...
- ssh,ssm,java的三大框架是什么,功能各是什么
三大框架是用来开发web应用程序中使用的. Struts:基于MVC的充当了其中的视图层和控制器 Hibernate:做持久化的,对JDBC轻量级的封装,使得我们能过面向对象的操作数据库 Spring ...
- 【聊透SpringMVC】自学java和三大框架要多久
饿了么一面(Java) hashmap源码问题 HashMap底层结构 put操作讲一下 HashMap.HashMap如何保证线程安全.ConcurrentHashMap JVM有哪些回收算法,对应 ...
- 【Spring注解驱动开发】自学java和三大框架要多久
饿了么一面(Java) hashmap源码问题 HashMap底层结构 put操作讲一下 HashMap.HashMap如何保证线程安全.ConcurrentHashMap JVM有哪些回收算法,对应 ...
- Java Web 三大框架开发资料
Spring MVC Controller配置方式 Spring MVC 中,配置Controller时使用的是URL对应Bean的方式. 在SpringMVC中,对于Controller的配置方式有 ...
- java语言三大分类javaSE、javaME、javaEE的区别
JAVA是一门编程语言,分为三大版本,分别是javase.javame.javaee. (1)JavaSE标准版 即Java标准版,主要用于开发和部署桌面.服务器以及嵌入设备和实时环境中的Java应用 ...
- Java 三大框架集成项目结构
用MyEclipse开发的Java 三大框架集成项目,典型结构如下. 一 展开项目名称,首先是src文件夹:存放实现业务功能的java源文件*.java: struts2的action代码文件存放在a ...
- 2019年JAVA比较火的框架_2019年Java技术中当前流行的三大框架
对于参加Java培训掌握技术的小伙伴来说,相信或多或少都会听到关于Java编程语言的三大架构.Java作为编程语言界元老级的存在,这么些年来不仅平稳的发展,而且也渐渐成为众多企业首选的编程语言.另外是 ...
- java框架ssm整合_SSM三大框架整合详细教程(Spring+SpringMVC+MyBatis)
使用 SSM ( Spring . SpringMVC 和 Mybatis )已经有三个多月了,项目在技术上已经没有什么难点了,基于现有的技术就可以实现想要的功能,当然肯定有很多可以改进的地方.之前没 ...
最新文章
- Android之Android实现浮层的上下滑动(支持内部添加View)
- 你被人工智能给忽悠了吗?原来我们曾经认为的都是假的
- 领域应用 | 美团商品知识图谱的构建及应用
- 华为高管“泄密”,华为P40 Pro外观定了!
- ASP.NET2.0(学习第一天)
- 花粉俱乐部服务器维护,花粉俱乐部打不开进不去怎么回事?花粉俱乐部加载数据失败怎么解决?...
- CSDN APP又出错了,看不到博文
- ImageMagick内存占用过高被杀掉
- 服务器如何查询网站域名备案号,如何查询域名备案号
- pdf批量转换为图片
- 如何在WordPress中显示链接的实时预览
- 软件测试工程师如何保证软件的质量?
- 电脑卡,电脑卡到不行?原因和解决方法都在这里了!
- 国惠光电短波红外相机资料下载
- 将一个数组中重复的元素去除,并且返回一个新数组
- xDM Land Patterns 封装工具使用笔记
- 电动车霍尔转把调速时,电机功率变不变呢?是不是当速度较低时,扭矩较大呢?,电动车加速到匀速过程中功率不变电压不变,反电动势内在改变扭矩大小。从而体现出P=FV。类似燃油汽车膨胀的冲量定理改变力大小
- 动环监控系统的服务器部署在,动环监控系统【斯必得智慧机房】
- ES大量数据条件检索准确性问题
- 450g吐司烘烤温度_解决这24个问题,吐司面包想失败都难!