首页 > 其他分享 >SpringBoot2和SpringBoot3有什么区别

SpringBoot2和SpringBoot3有什么区别

时间:2023-11-14 11:33:36浏览次数:30  
标签:区别 Spring 配置 Boot SpringBoot2 SpringBoot3 starter

SpringBoot2和SpringBoot3有什么区别

1.最低环境的区别

  • Java版本:SpringBoot2的最低版本要求为Java8,支持Java9;而SpringBoot3决定使用Java17作为最低版本,并支持Java19。
  • Spring Framework 版本: SpringBoot2基于Spring Framework5开发;而SpringBoot3构建基于Spring Framework6之上。

2.GraalVM支持的区别

相比SpringBoot2,SpringBoot3的Spring Native也是升级的一个重大特性,支持使用GraalVM将Spring的应用程序编译成本地可执行的镜像文件,可以显著提升启动速度、峰值性能以及减少内存使用。

3.图片Banner支持的区别

在SpringBoot2中,自定义Banner支持图片类型;而现在Spring Boot3自定义Banner只支持文本类型(banner.txt),不再支持图片类型。

4.依赖项的区别

相比SpringBoot2,Spring Boot3.0.0-M1删除了对一些附加依赖项的支持,包括Apache ActiveMQ、Atomikos、EhCache2和HazelCast3。Jersey是另一个值得注意的弃用,在它提供对Spring Framework6的支持之前已被删除。
除了上述内容外,相比SpringBoot2,SpringBoot3还增加了很多其它的新特性,如:Java EE已经变更为Jakarta EE、Log4j2增强、三方包升级等。

延伸阅读

SpringBoot框架有哪些优点

1.可快速构建独立的Spring应用

Spring Boot是一个依靠大量注解实现自动化配置的全新框架。在构建Spring应用时,我们只需要添加相应的场景依赖,Spring Boot就会根据添加的场景依赖自动进行配置,在无须额外手动添加配置的情况下快速构建出一个独立的Spring应用。

2.内嵌web服务器,无须部署WAR文件

传统的Spring应用部署时,通常会将应用打成WAR包形式并部署到Tomcat、Jetty或Undertow 服务器中。Spring Boot框架内嵌了Tomcat、Jetty和Undertow 服务器,而且可以自动将项目打包,并在项目运行时部署到服务器中。

3.自动starter依赖,简化构建配置

在Spring Boot项目构建过程中,无须准备各种独立的JAR文件,只需在构建项目时根据开发场景需求选择对应的依赖启动器“starter”,在引入的依赖启动器“starter”内部已经包含了对应开发场景所需的依赖,并会自动下载和拉取相关JAR包。例如,在Web开发时,只需在构建项目时选择对应的Web场景依赖启动器spring-boot-starter-web,Spring Boot项目便会自动导入spring-webmvc、spring-web、spring-boot-starter-tomcat等子依赖,并自动下载和获取Web开发需要的相关JAR包。

4.自动配置Spring以及第三方功能

Springboot简化了很多配置,例如工厂、整合SpringMVC 、Mybatis 之类的固定配置,创建工程后可直接开发业务逻辑。另外,第三方工具的使用,也只需引入starter,配置文件配置一下账号密码,有种开箱即用的感觉。

5.提供生产就绪功能

Spring Boot提供了一些用于生产环境运行时的特性,例如指标、监控检查和外部化配置。其中,指标和监控检查可以帮助运维人员在运维期间监控项目运行情况;外部化配置可以使运维人员快速、方便地进行外部化配置和部署工作。

6.极少的代码生成和XML配置

Spring Boot框架内部已经实现了与Spring以及其他常用第三方库的整合连接,并提供了默认优异化的整合配置,使用时基本上不需要额外生成配置代码和XML配置文件。在需要自定义配置的情况下,Spring Boot更加提倡使用Java config(Java 配置类)替换传统的XML配置方式,这样更加方便查看和管理。

-Ref:
https://worktile.com/kb/ask/36982.html

标签:区别,Spring,配置,Boot,SpringBoot2,SpringBoot3,starter
From: https://www.cnblogs.com/eddyz/p/17831232.html

相关文章

  • Apple开发_NSString 使用 strong 与 copy 进行修饰的区别
    测试代码-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{NSMutableString*m_notiion=[[NSMutableStringalloc]init];m_notiion.string=@"房号密码的功能";self.m_notiion=m......
  • 2.OLTP和OLAP区别
    定义OLTP:联机事务处理(对数据的增删改,侧重实时性)OLAP:联机分析处理(对数据的查询,侧重大数据量查询)场景和应用的区别OLTP:当具体某类业务事件行为产生后,数据库会记录这个时间是谁在什么时候什么地方做了什么事,这样的一行(或多行)数据会以(增删改)的方式在数据库中进行数据的更......
  • watch和computed的其中一个关键区别就是watch可以执行异步操作,而computed不能执行异步
    下面说法错误的是()Awatch方法中不能执行异步操作B不应该使用箭头函数来定义method函数,箭头函数绑定了父级作用域的上下文,所以this将不会按照期望指向Vue实例CVue实例将会在实例化时调用$watch(),遍历watch对象的每一个propertyDcomputed的结果会被缓存,除非依赖......
  • SpringBoot3
    1>实例Demo1正文idea创建空项目springboot3.1File>>New >>Project...>>EmptyProject2项目springboot3,右键新建Model,boot3-01-demo<!--所有的springboot项目都必须集成spring-boot-starter-parent--><parent><groupId>org.springframework......
  • Java的内部类区别
    一.成员内部类成员内部类是创建在一个类的中的,它的位置和此类的属性是同一级的,可以说是它的成员类,或成员属性特点:成员内部类可以访问外部类的静态属性,也可以访问其外部非静态属性类方法如果要去访问其成员内部类的方法,还是需要才此类中去创建对象,实例化成员内部类,然后调用在......
  • selenium和playwright的区别和使用方法
    Selenium和Playwright都是自动化测试工具,可以用于模拟用户操作、执行测试脚本、验证网站功能和性能等。它们的主要区别在于实现方式和功能特性。1.实现方法Selenium是基于浏览器驱动的自动化测试工具,支持多种编程语言和多种浏览器。Selenium通过启动浏览器驱动程序(如Chrome......
  • 入门级throw与throws的区别
    throw与throws区别一:    throw与throws的区别二:    throw与throws的区别三:   throw与throws的区别四:throw,如果执行了,那么一定是抛出了某种异常了,安生throws表示可能出现,但不一定。......
  • 异常处理机制之throw与throws的区别是什么?(新手必看)
    ......
  • 异常处理机制(一)之throw与throws的区别是什么?
    throw与throws的区别一、throw:throw:抛出异常throw:代表动作,表示抛出一个异常的动作;throw:方法体内,可以作为单独语句使用throw:只能抛出一个异常对象throw是语句抛出一个异常,一般是在代码块的内部,当程序出现某种逻辑错误时由程序员主动抛出某种特定类型的异常1.1声明格式: ......
  • [转载]:npm create vite@latest 和 npm init vue@latest 的区别
    1.npmcreatevite@latest:使用Vite构建工具创建项目模板。Vite是一个现代化的前端构建工具,用于快速搭建现代化的Vue、React或者原生JavaScript项目。通过该命令创建的项目模板具有现代化的构建特性,如快速的热模块替换、即时的开发服务器、基于ES模块的构建等,能够提供......