首页 > 其他分享 >SpringBoot2.0版本与老版本区别

SpringBoot2.0版本与老版本区别

时间:2023-02-01 10:04:50浏览次数:46  
标签:SpringBoot2.0 context 区别 Spring 支持 server 版本 servlet


SpringBoot2.0版本新特性

 

以Java 8 为基准

Spring Boot 2.0 要求Java 版本必须8以上, Java 6 和 7 不再支持。

内嵌容器包结构调整

为了支持reactive使用场景,内嵌的容器包结构被重构了的幅度有点大。EmbeddedServletContainer被重命名为WebServer,并且org.springframework.boot.context.embedded 包被重定向到了org.springframework.boot.web.embedded包下。举个例子,如果你要使用TomcatEmbeddedServletContainerFactory回调接口来自定义内嵌Tomcat容器,你现在应该使用TomcatServletWebServerFactory。

Servlet-specific 的server properties调整

大量的Servlet专属的server.* properties被移到了server.servlet下:

Old property

New property

server.context-parameters.*

server.servlet.context-parameters.*

server.context-path

server.servlet.context-path

server.jsp.class-name

server.servlet.jsp.class-name

server.jsp.init-parameters.*

server.servlet.jsp.init-parameters.*

server.jsp.registered

server.servlet.jsp.registered

server.servlet-path

server.servlet.path

由此可以看出一些端倪,那就是server不再是只有servlet了,还有其他的要加入。

Actuator 默认映射

ctuator的端点(endpoint)现在默认映射到/application,比如,/info 端点现在就是在/application/info。但你可以使用management.context-path来覆盖此默认值。

 

Spring Loaded不再支持

由于Spring Loaded项目已被移到了attic了,所以不再支持Spring Loaded了。现在建议你去使用Devtools。Spring Loaded不再支持了。

支持Quartz Scheduler

Spring Boot 2 针对Quartz调度器提供了支持。你可以加入spring-boot-starter-quartz starter来启用。而且支持基于内存和基于jdbc两种存储。

OAuth 2.0 支持

Spring Security OAuth 项目中的功能将会迁移到Spring Security中。将会OAuth 2.0。

支持Spring WebFlux

 

WebFlux 模块的名称是 spring-webflux,名称中的 Flux 来源于 Reactor 中的类 Flux。该模块中包含了对反应式 HTTP、服务器推送事件和 WebSocket 的客户端和服务器端的支持。对于开发人员来说,比较重要的是服务器端的开发,这也是本文的重点。在服务器端,WebFlux 支持两种不同的编程模型:第一种是 Spring MVC 中使用的基于 Java 注解的方式;第二种是基于 Java 8 的 lambda 表达式的函数式编程模型。这两种编程模型只是在代码编写方式上存在不同。它们运行在同样的反应式底层架构之上,因此在运行时是相同的。WebFlux 需要底层提供运行时的支持,WebFlux 可以运行在支持 Servlet 3.1 非阻塞 IO API 的 Servlet 容器上,或是其他异步运行时环境,如 Netty 和 Undertow。

版本要求

Jetty

要求Jetty最低版本为9.4。

 

Tomcat

要求Tomcat最低版本为8.5。

 

Hibernate

要求Hibernate最低版本为5.2。

 

Gradle

要求Gradle最低版本为3.4。

 

SendGrid

SendGrid最低支持版本是3.2。为了支持这次升级,username和password已经被干掉了。因为API key现在是唯一支持的认证方式。

 

标签:SpringBoot2.0,context,区别,Spring,支持,server,版本,servlet
From: https://blog.51cto.com/u_14389461/6030673

相关文章

  • Springcloud和dubbo的区别
    随着近几年微服务的兴起,最近大家对springcloud和dubbo的讨论越来越多,那么下面我们简单来看看这两者使用中的不同有哪些,以下观点仅供参考。1、架构完整度(见上图)或许很多人......
  • 说一下created和mounted区别
    created:Vue实例vm能够访问data里的数据,和methods里的方法,即在模板渲染成html页面之前,可以通过ajax获取页面所需要的初始化数据,可以在这个生命周期函数操作。mounted:经......
  • less与sass的区别
    1.关于变量在Less和Sass中的唯一区别就是Less用@,Sass用$2.处理机制不同,less是在客户端处理,sass是在服务端处理,相比较之下前者解析会比后者慢一点3.运行环境不同,sass是要......
  • @Autowired和@Resource的区别
    @Autowired注解是按类型装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它required属性为false。@Resource注解和@Autowired一样,也可以标注在字段或......
  • 网络资源路径的双斜杠//和双反斜杠\的区别
    1斜杠“/”是URL地址中用到的分隔符;对应地,双斜杠用在网络域名访问中,是协议和主机名或IP地址之间的分隔符,以双斜杠//开头的URL是依赖协议的URL表示形式,URL格式:协议://域......
  • dremio 23 版本反射问题最新说明
    此问题,官方已经确认是在进行反射替换的时候有问题,同时预计会在24版本解决,但是目前暂时还没有发布(官方对于社区版的支持不是很好。。。。)参考资料https://community.drem......
  • JDK,JRE和JVM之间的区别
    好多开发者学习Java编程有若干个年头了,但真正了解JDK,JRE和JVM之间的区别应该不多,别不服,大概是因为平时都是在Coding<=>Bug,没有时间去阅读相关资料吧。了解JDK,JRE和JVM......
  • 获取版本的分类属性
    1、获取版本的分类属性publicstaticMultiKeyMapgetClassificationObjectProperties(AppXSessionsession,ItemRevisionitemRev){MultiKeyMapkeyMap=new......
  • jdk11版本jenkins打包jdk8项目,同时兼容jdk11与jdk8
    https://blog.csdn.net/leilei1366615/article/details/127347906一、说明:本次文章中Jenkins为docker安装,镜像为jenkins/jenkins:lts-jdk11 二、兼容jdk8项目核心思路:......
  • 并发、并行、串行的区别
    并发:多个任务会相互干扰,同一时间点只有一个任务运行,交替执行。并行:多个任务互不干扰,在同一时间点共同执行,在时间上是重叠的。串行:在同一时间点只有一个任务运行,在时间上......