<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Spring Native 0.10.0 發(fā)布,重大突破??!

          共 2654字,需瀏覽 6分鐘

           ·

          2021-06-23 22:53

          點(diǎn)擊關(guān)注公眾號(hào),Java干貨及時(shí)送達(dá)

          大家好,我是你們的碼農(nóng)大哥——棧長(zhǎng)。

          6 月初的時(shí)候給大家介紹了 Spring 團(tuán)隊(duì)的最新殺手锏項(xiàng)目:Spring Native,它的存在就是干掉 JVM,另起一個(gè) JVM 之外的生態(tài),上篇也簡(jiǎn)單實(shí)戰(zhàn)了一下,相信大家都有了一個(gè)全新的認(rèn)知,沒(méi)看過(guò)的可以點(diǎn)鏈接進(jìn)去看下。

          Spring Native 上一個(gè)版本為:0.9.2,只支持 Spring Boot 2.4.5。

          Spring Native 最近又發(fā)布了基于 Spring Boot 2.5 和 GraalVM 21.1 的最新 0.10.0 版本:

          Spring Boot 前陣子剛升級(jí)到 Spring Boot 2.5.1,Spring Native 現(xiàn)在就開(kāi)始支持 Spring Boot 2.5,支持進(jìn)度真快,對(duì)研究 Spring Native 的同學(xué)也是福音了。。

          Spring Native 0.10.0 帶來(lái)了一些新特性,還包括 43 個(gè) bug 修復(fù)、文檔改進(jìn)、依賴升級(jí)等。

          Spring Native 0.10.0 新特性

          1、支持 Gradle 插件

          以前僅提供 Maven 插件支持,現(xiàn)在終于可以支持官方 Gradle 插件了。

          并且,還提供了新的構(gòu)建工具(native-build-tools):

          https://github.com/graalvm/native-build-tools

          它取代了之前的 native-image-maven-plugin 插件,它可以通過(guò)本地原生鏡像編譯器來(lái)構(gòu)建和測(cè)試你的原生應(yīng)用。

          這個(gè)升級(jí)就感覺(jué)有點(diǎn)大,意味著之前那個(gè)插件的玩法就行不通了,需要用這個(gè)新的構(gòu)建工具插件。。

          2、支持原生測(cè)試

          現(xiàn)在可以使用 mvn -Pnative testgradle nativeTest 以原生鏡像的方式運(yùn)行 JUnit 5 單元測(cè)試用例。

          另外,Spring Native 現(xiàn)在也添加了單元測(cè)試初始化支持,因此以 @SpringBootTest 編寫(xiě)的單元測(cè)試用例也可以作為原生鏡像運(yùn)行。Spring Boot 單元測(cè)試不清楚的,可以關(guān)注公眾號(hào):Java技術(shù)棧,看看棧長(zhǎng)寫(xiě)的教程。

          3、支持基于類的代理

          我們都知道,原生鏡像需要在構(gòu)建時(shí)就定義代理,在前面的 Spring Native 版本中,Spring Native 也只能支持基于接口的 JDK 代理,不支持通過(guò) CGLIB 基于普通類的代理,因?yàn)?Spring Native 的原生特性就不能支持在運(yùn)行時(shí)生成字節(jié)碼。

          // Typical security use case of a class proxy now supported on native
          @Service
          public class GreetingService {

              public String hello() {
                  return "Hello!";
              }
              
              @PreAuthorize("hasRole('ADMIN')")
              public String adminHello() {
                  return "Goodbye!";
              }
          }

          但是從 Spring Native 0.10.0 這個(gè)版本開(kāi)始,基于普通類的代理也可以搞定了,現(xiàn)在可以在構(gòu)建時(shí)通過(guò) @AotProxyHint 注解來(lái)生成類的代理,這真是一個(gè)大的突破,牛皮?。。?/p>

          需要注意的是:

          以前的 @ProxyHint 已重命名為 @JdkProxyHint,以避免混淆。

          它支持安全性、事務(wù)、以及其他基于普通類的代理機(jī)制,后續(xù)也將改進(jìn)對(duì)此類模式的自動(dòng)檢測(cè),以減少大量所需的顯示提示。

          總結(jié)

          本文介紹了 Spring Native 0.10.0 的 3 個(gè)重要的核心特性,每個(gè)都是重磅,可以看出 Spring Native 還處于快速的更新迭代中。

          更多發(fā)布的細(xì)節(jié)可以參考:

          https://github.com/spring-projects-experimental/spring-native/releases

          快速開(kāi)啟 Spring Native:

          https://start.spring.io/

          如圖所示,Spring Native 目前還屬于體驗(yàn)項(xiàng)目,但它無(wú)需 JVM,有更快的性能、更少的資源占用,這肯定是未來(lái)的趨勢(shì),有興趣的可以研究下,有不清楚的可以看看棧長(zhǎng)的 Spring Native 實(shí)戰(zhàn),源碼已經(jīng)上傳:

          https://github.com/javastacks/javastack

          棧長(zhǎng)有時(shí)間也會(huì)繼續(xù)研究分享 Spring Native 動(dòng)態(tài)及教程,公眾號(hào)Java技術(shù)棧第一時(shí)間推送,請(qǐng)大家持續(xù)關(guān)注哦!

          最后,覺(jué)得我的文章對(duì)你用收獲的話,動(dòng)動(dòng)小手,給個(gè)在看、轉(zhuǎn)發(fā),原創(chuàng)不易,棧長(zhǎng)需要你的鼓勵(lì)。

          參考資料:

          https://spring.io/blog/2021/06/14/spring-native-0-10-0-available-now

          https://github.com/spring-projects-experimental/spring-native

          版權(quán)申明:本文系公眾號(hào) "Java技術(shù)棧" 原創(chuàng),原創(chuàng)實(shí)屬不易,轉(zhuǎn)載、引用本文內(nèi)容請(qǐng)注明出處,禁止抄襲、洗稿,請(qǐng)自重,尊重大家的勞動(dòng)成果和知識(shí)產(chǎn)權(quán),抄襲必究。






          關(guān)注Java技術(shù)??锤喔韶?/strong>



          獲取 Spring Boot 實(shí)戰(zhàn)筆記!
          瀏覽 88
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色欲WWW | 在线成人中文字幕无码影 | 人人看人人肏 | 日韩精品毛片在线 | 吴梦梦被无套内流白浆 |