文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java--SSH,SSM和Spring Boot框架区别及优缺点说明

2022-12-21 18:00

关注

一、SSH(Struts + Spring + Hibernate)

1、基本概念

SSH框架是JAVA EE中三种框架所集成,分别是Struts,Spring,Hibernate框架所组成

集成SSH框架的系统从职责上分为(Struts2--控制;Spring--解耦;Hibernate--操作数据库),以帮助开发人员在短期内搭建结构清晰、可服用好、维护方便的web应用程序。

使用Struts作为系统的整体基础框架,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。

2、Struts2

(1)基本概念

Struts2是一个基于MVC设计模式的web应用框架,相当于一个servlet,在MVC设计模式中,Struts2作为控制器(controller)来建立模型与视图的数据交互。Struts2在Struts1融合webwork。struts2以webwork为核心,采用拦截器的机制来处理用户的请求,这样的设计使得业务逻辑控制器能够与servletAPI完全脱离。

(2)Struts2框架的运行结构

解析:客户端发送请求(HttpServletRequest)到服务器,服务器接收到请求就先进入web.xml配置文件看看有没有配置过滤器,发现有有Struts2的过滤器,然后找到struts.xml配置文件,struts.xml配置文件里定义一个action,然后就去找到action类,此类继承ActionSupport接口,并且实现了execute()方法,返回一个字符串“success”给struts.xml配置文件,struts.xml配置文件的action会默认调用action类的execute()方法,result接收到返回的字符串,result就会调用你指定的jsp页面将结果呈现,最后响应给客户端。

(3)Struts2的优势

(4)Struts2的缺点:

2、Spring

(1)基本概念

Spring是一个开源开发框架,是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

spring主要用来开发java应用,构建J2EE平台的web应用。其核心就是提供一种新的机制管理业务对象及其依赖关系。

(2)spring的流程图

解析:上面是在Struts结构图的基础上加入了spring流程图,在web.xml配置文件中加入了spring的监听器,在struts.xml配置文件中添加

<constant name="struts.objectFactory" value="spring" />

是告知Struts2运行时使用spring来管理对象,spring在其中主要做的就是注入实例,所有需要类的实例都由spring管理。

(3)spring的优点

(4)spring的缺点

3、Hibernate

(1)基本概念

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

(2)hibernate的核心构成和执行流程图

(3)hibernate的优点

一级缓存:是session级别的缓存,一个session做了一个查询操作,它会把这个操作的结果放到一级缓存中,如果短时间内这个session又做了同一个操作,那么hibernate直接从一级缓存中拿出,而不会去连数据库取数据。

二级缓存:是sessionFactory级别的缓存,就是查询的时候会把结果缓存到二级缓存中,如果同一个sessionFactory创建的某个session执行了相同的操作,hibernate就会从二级缓存中拿出结果,而不会再去连接数据库。

(4)hibernate的缺点

二、SSM(Spring + SpringMVC + MyBatis)

SSM架构,是三层结合所成的框架,分别是Spring、SpringMVC、MyBatis所组成。

Spring依赖注入来管理各层,面向切面编程管理事务,日志和权限。SpringMVC代表了model、view、controller接收外部请求,进行开发和处理。

mybatis是基于jdbc的框架,主要用来操作数据库,并且将业务实体和数据表联系起来。

1、Spring

详细介绍见SSH中spring。

2、SpringMVC

(1)基本概念

属于spring框架的一部分,用来简化MVC架构的web应用程序开发。

(2)SpringMVC的优点

(3)SpringMVC的缺点

3、Mybatis

(1)基本概念

mybatis是一个简化和实现了java数据持久层的开源框架,它抽象了大量的JDBC冗余代码,并提供了一个简单易用的API和数据库交互。

(2)mybatis的优点

(3)mybatis的缺点

最受Java开发者喜好的框架当属Spring,Spring也成为了在Java EE开发中真正意义上的标准,但是随着新技术的发展,脚本语言大行其道的时代(Node JS,Ruby,Groovy,Scala等),Java EE使用Spring逐渐变得笨重起来,大量的XML文件存在与项目中,繁琐的配置,整合第三方框架的配置问题,低下的开发效率和部署效率等等问题。

这些问题在不断的社区反馈下,Spring团队也开发出了相应的框架:Spring Boot。Spring Boot可以说是至少近5年来Spring乃至整个Java社区最有影响力的项目之一,也被人看作是:Java EE开发的颠覆者!

Spring Boot

是一个全新框架,使用来简化Spring的初始搭建和开发过程,使用了特定的方式来进行配置,让开发人员不在需要定义样板化的配置。此框架不需要配置xml,依赖于像MAVEN这样的构建系统。

三、Spring Boot

官方地址:Spring Boot

1、Spring Boot基本概念

springboot是一个全新的框架,简化Spring的初始搭建和开发过程,使用了特定的方式来进行配置,让开发人员不再需要定义样板化的配置。此框架不需要配置xml,依赖于maven这样的构建系统。

2、Spring Boot的优点

(1)减少了大量的开发时间并提高了生产力

(2)避免了编写大量的样板代码,注释和XML配置

(3)解决了spring的弊端

(4)代码少了、配置文件少了、不需要对第三方框架烦恼了、项目精简了,对整个团队的开发和维护来说,更大的节约了成本。

3、Spring Boot的缺点

(1)修复bug较慢,报错时难以定位。

(2)集成度较高,不易于了解底层。

4、Spring Boot总结

简单、快速、方便的搭建项目;对主流开发框架的无配置集成;极大提高了开发、部署效率。

5、Spring Boot和Spring的区别

(1)springboot可以建立独立的spring应用程序。

(2)内嵌了如tomcat,Jetty和Undertow这样的容器,也就是说可以直接跑起来,用不着再做部署工作。

(3)无需再像spring那样写一堆繁琐的XML配置文件

(4)可以自动配置spring

(5)提供的POM可以简化maven的配置

6、Spring Boot和SpringMVC的区别

(1)SpringMVC是基于spring的一个MVC框架。

(2)Spring Boot的基于spring的条件注册的一套快速开发整合包。

(3)Spring 是一个“引擎”

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯