国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot3.0新特性:1、spring.factories文件廢棄,自動配置包位置變化 2、Spring Native 快速體驗 3、jakata api遷移 3、三方庫的支持

這篇具有很好參考價值的文章主要介紹了SpringBoot3.0新特性:1、spring.factories文件廢棄,自動配置包位置變化 2、Spring Native 快速體驗 3、jakata api遷移 3、三方庫的支持。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、SpringBoot3.0

1、spring.factories文件廢棄,自動配置包位置變化

有自己寫過starter包的友友們一定知道,一定用/META-INF/spring.factories文件定義發(fā)現(xiàn)自動配置,但是在springboot 2.7,這個文件就被棄用了,在springboot 3.0 就被徹底移除了。

比如之前定義的/META-INF/spring.factories文件:
springboot3.0新特性,SpringBoot3 新特性及JDK17新特性,spring,java,jvm
而現(xiàn)在 這個/META-INF/spring.factories并不是不存在了,只是在3.0之后外部自動配置類是不通過這種方式去配置了。而是通過META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件,既然他的路徑有所改變,那么底層代碼一定也是有改變的,相信大家都看過自動裝配的原理,不知道的小伙伴可以去看看我之前的文章。

2、Spring Native

Spring Native 也是升級的一個重大特性,支持使用GraalVM將SpringBoot 的應用程序編譯成本地可執(zhí)行的鏡像文件,可以顯著提升啟動速度、峰值性能以及減少內(nèi)存使用。
我們傳統(tǒng)的應用都是編譯成字節(jié)碼,然后通過JVM解釋并最終編譯成機器碼來運行,而Spring Native則是通過AOT提前編譯為機器碼,在運行時直接靜態(tài)編譯成可執(zhí)行文件,不依賴JVM。GraalVM的即時編譯器和AOT編譯器可以顯著提高應用程序的性能。據(jù)測試,GraalVM的性能可以比傳統(tǒng)的JVM高出20%-100%。
近幾年來,Go語言火了,Go語言是一種編譯型語言,我們需要先把Go代碼直接編譯成為一個二進制執(zhí)行文件,比如windows上的exe文件,然后直接運行exe文件就能快速啟動程序。
如果說,十年前,Spring是Java的春天,那現(xiàn)在GraalVM就是Java的救世主,Java要想不被Go擠掉,整個Java生態(tài)都要向GraalVM靠齊。

springboot3.0新特性,SpringBoot3 新特性及JDK17新特性,spring,java,jvm

快速體驗

下載GRaalvm
https://github.com/graalvm/graalvm-ce-builds/releases
springboot3.0新特性,SpringBoot3 新特性及JDK17新特性,spring,java,jvm
下載之后解壓安裝。
配置
springboot3.0新特性,SpringBoot3 新特性及JDK17新特性,spring,java,jvm
配置完之后可以看下版本
springboot3.0新特性,SpringBoot3 新特性及JDK17新特性,spring,java,jvm
安裝Native lmage工具
如果沒有安裝該工具,maven在打包的時候會自動下載,但建議提前安裝打包工具。這一步由于會從github上下載資源、所以會比較久久可能會連接超時,所以需要多試幾次。

gu install native-image

springboot3.0新特性,SpringBoot3 新特性及JDK17新特性,spring,java,jvm
到你項目根目錄運行生成exe文件
時間可能會有點久
mvn -Pnative native:compile
springboot3.0新特性,SpringBoot3 新特性及JDK17新特性,spring,java,jvm
然后在輸出目錄就會生成exe文件,
springboot3.0新特性,SpringBoot3 新特性及JDK17新特性,spring,java,jvm
啟動,性能加倍。

3、jakata api遷移

從Java EE APIs 到 Jakarta EE
Spring Boot 3開始,所有的Java EE Api都需要遷移到Jakarta EE上來。大部分用戶需要修改import相關(guān)API的時候,要用jakarta替換javax。比如:原來引入javax.servlet.Filter的地方,需要替換為jakarta.servlet.Filter。但還有一些依賴Java EE API的第三方庫,目前還沒有得到很好的支持,所以在Spring Boot 3中暫時會先移除這類組件的支持(比如:EhCache 3、Infinispan、Jolokia、Pooled JMS等)。所以,目前的M1版本相較2.x版本來說,會有一些特性的缺失。當然大多數(shù)應該還只是暫時的,Spring Boot官方會等這些第三方庫發(fā)布Jakarta兼容庫之后再重新引入。

3、三方庫的支持

Spring Boot 3.0 基于并需要 Spring Framework 6。

此版本中升級的其他 Spring 項目包括:

Spring AMQP 3.0.
Spring Batch 5.0.
Spring Data 2022.0.
Spring GraphQL 1.1.
Spring HATEOAS 2.0.
Spring Integration 6.0.
Spring Kafka 3.0.
Spring LDAP 3.0.
Spring REST Docs 3.0.
Spring Retry 2.0.
Spring Security 6.0 (see also what’s new).
Spring Session 2022.0.
Spring WS 4.0.
Spring Boot 3.0 已將所有依賴項從 Java EE 遷移到 Jakarta EE API。盡可能選擇 Jakarta EE 10 兼容依賴項,包括:

Jakarta Activation 2.1
Jakarta JMS 3.1
Jakarta JSON 2.1
Jakarta JSON Bind 3.0
Jakarta Mail 2.1
Jakarta Persistence 3.1
Jakarta Servlet 6.0
Jakarta Servlet JSP JSTL 3.0
Jakarta Transaction 2.0
Jakarta Validation 3.0
Jakarta WebSocket 2.1
Jakarta WS RS 3.1
Jakarta XML SOAP 3.0
Jakarta XML WS 4.0
我們還盡可能升級到第三方 jar 的最新穩(wěn)定版本。這里一些值得注意的依賴項升級包括:

Couchbase Client 3.4
Elasticsearch Client 8.5
Flyway 9
Groovy 4.0
Hibernate 6.1
Hibernate Validator 8.0
Jackson 2.14
Jersey 3.1
Jetty 11
jOOQ 3.16
Kotlin 1.7.20
Liquibase 4.13
Lettuce 6.2
Log4j 2.18
Logback 1.4
Micrometer 1.10
Micrometer Tracing 1.0
Neo4j Java Driver 5.2
Netty 4.1.77.Final
OkHttp 4.10
R2DBC 1.0
Reactor 2022.0
SLF4J 2.0文章來源地址http://www.zghlxwxcb.cn/news/detail-686644.html

到了這里,關(guān)于SpringBoot3.0新特性:1、spring.factories文件廢棄,自動配置包位置變化 2、Spring Native 快速體驗 3、jakata api遷移 3、三方庫的支持的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務器費用

相關(guān)文章

  • 【SpringBoot】一、SpringBoot3改變&新特性

    【SpringBoot】一、SpringBoot3改變&新特性

    前言 本文適合具有springboot的基礎(chǔ)的同學。 Java 17或更高版本 Gradle 7.5+或Maven 3.5+ SpringMVC 5.2 以后 允許我們使用函數(shù)式的方式,定義Web的請求處理流程。 Web請求處理的方式: @Controller + @RequestMapping:耦合式 (路由、業(yè)務耦合) 函數(shù)式Web:分離式(路由、業(yè)務分離) 場景:Us

    2024年02月10日
    瀏覽(25)
  • 【SpringBoot】一、SpringBoot3新特性與改變詳細分析

    【SpringBoot】一、SpringBoot3新特性與改變詳細分析

    前言 本文適合具有springboot的基礎(chǔ)的同學。 Java 17或更高版本 Gradle 7.5+或Maven 3.5+ SpringMVC 5.2 以后 允許我們使用函數(shù)式的方式,定義Web的請求處理流程。 Web請求處理的方式: @Controller + @RequestMapping:耦合式 (路由、業(yè)務耦合) 函數(shù)式Web:分離式(路由、業(yè)務分離) 場景:Us

    2024年02月12日
    瀏覽(16)
  • 【SpringBoot3】--03.數(shù)據(jù)訪問、基礎(chǔ)特性(外部化和內(nèi)部外配置、整合JUnit)

    【SpringBoot3】--03.數(shù)據(jù)訪問、基礎(chǔ)特性(外部化和內(nèi)部外配置、整合JUnit)

    學習視頻: 尚硅谷SpringBoot3視頻 SpringBoot 整合 Spring 、 SpringMVC 、 MyBatis 進行 數(shù)據(jù)訪問場景 開發(fā) 勾選之后會導入以下包 安裝 MyBatisX 插件,幫我們生成Mapper接口的xml文件即可 在接口處 : Alt + 回車 必須把mapper的xml文件映射位置在配置文件定義! 而駝峰命名轉(zhuǎn)換建議也開啟 編

    2024年02月16日
    瀏覽(43)
  • Springboot3新特性:GraalVM Native Image Support和虛擬線程(從入門到精通)

    Springboot3新特性:GraalVM Native Image Support和虛擬線程(從入門到精通)

    說明 :都知道,我是搞java的,最近搞c的算法和redis數(shù)據(jù)庫比較多,所以對于以下文章,都是我自己這樣認為的,各位看完之后,可盡情評論。 以往文章: Springboot3新特性:開發(fā)第一個 GraalVM 本機應用程序(完整教程)-CSDN博客 利用GraalVM將java文件變成exe可執(zhí)行文件-CSDN博客 概述

    2024年01月16日
    瀏覽(54)
  • SpringBoot3自動配置原理

    SpringBoot3自動配置原理

    遵循約定大約配置的原則,在boot程序啟動后,起步依賴中的一些bean對象會自動注入到ioc容器 看一下我們前面寫的代碼有沒有達到自動配置的效果呢? 沒有自動,我們寫了配置類,寫了@Import注解,所以并沒有達到自動配置的效果。那怎么辦呢?接下來我們通過翻看源碼的方

    2024年01月22日
    瀏覽(32)
  • spring.factories 文件配置詳情

    在程序開發(fā)中,可能會出現(xiàn)包名不一樣的情況(如:pom 依賴的很多的 jar),如何解決Spring Boot不能被默認路徑掃描呢? 方法一:在 Spring Boot Application 主類上使用 @Import 注解。 方法二:使用 spring.factories 文件 方法一比較簡單,在此就不做過多介紹,主要談談 spring.factories 使

    2024年02月01日
    瀏覽(21)
  • 【SpringBoot3】從重構(gòu)HelloWorld看Spring的作用

    在我們學習一門新技術(shù)的時候,總是先運行出一個基本的程序來輸出“Hello World”,如果成功了, 說明我們的開發(fā)環(huán)境基本就緒了,我們也像嬰兒走路一樣,能走第一步了。接下來我們就逐步改造一個最基本的HelloWorld來一步步分析Spring到底幫助我們做 了什么。 目錄 第一步:

    2024年02月19日
    瀏覽(18)
  • Java --- springboot3依賴管理和自動配置機制

    Java --- springboot3依賴管理和自動配置機制

    目錄 一、依賴管理機制 二、自動配置機制? 三、自動配置流程 ?? 、為什么導入 starter-web 所有相關(guān)依賴都導入進來? ①、開發(fā)什么場景,導入什么 場景啟動器。 ②、maven依賴傳遞原則。A-B-C: A就擁有B和C ③、導入 場景啟動器。 場景啟動器 自動把這個場景的所有核心依賴

    2024年02月07日
    瀏覽(23)
  • SpringBoot3文件管理

    SpringBoot3文件管理

    目錄 一、簡介 二、工程搭建 1、工程結(jié)構(gòu) 2、依賴管理 三、上傳下載 1、配置管理 2、上傳下載 四、Excel文件 1、Excel創(chuàng)建 2、Excel讀取 3、解析監(jiān)聽 4、導入導出 五、參考源碼 標簽:上傳.下載.Excel.導入.導出; 在項目中,文件管理是常見的復雜功能; 首先文件的類型比較多樣

    2024年02月13日
    瀏覽(19)
  • SpringBoot3之配置文件(學習SpringBoot3的配置這一篇足夠)

    SpringBoot3之配置文件(學習SpringBoot3的配置這一篇足夠)

    1.1 SpringBoot3簡介 SpringBoot 幫我們簡單、快速地創(chuàng)建一個獨立的、生產(chǎn)級別的 Spring 應用(說明:SpringBoot底層是Spring) ,大多數(shù) SpringBoot 應用只需要編寫少量配置即可快速整合 Spring 平臺以及第三方技術(shù)! SpringBoot的主要目標是: 為所有 Spring 開發(fā)提供更快速、可廣泛訪問的入

    2024年01月18日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包