永久免费看黄A片无码软件,japanese 在线观看国产,强奷高H猛烈失禁潮喷播放,亚洲成精品自拍

rexian

咨詢電話:023-6276-4481

熱門文章

聯(lián)系方式

電 話:023-6276-4481

郵箱:broiling@qq.com

地址:重慶市南岸區(qū)亞太商谷6幢25-2

當(dāng)前位置:網(wǎng)站首頁 > 技術(shù)文章 > Spring Boot2.0.0.RELEASE正式發(fā)布

Spring Boot2.0.0.RELEASE正式發(fā)布

編輯:pansiqin 發(fā)表時(shí)間:2018-03-02 12:29:08
pansiqin

就在昨天Spring Boot2.0.0.RELEASE正式發(fā)布,今天早上在發(fā)布Spring Boot2.0的時(shí)候還出現(xiàn)一個(gè)小插曲,將Spring Boot2.0同步到Maven倉庫的時(shí)候出現(xiàn)了錯(cuò)誤,然后Spring Boot官方又趕緊把 GitHub 上發(fā)布的 v2.0.0.RELEASE 版本進(jìn)行了撤回。到了下午將問題修復(fù)后,又重新進(jìn)行了上傳,至此Spring Boot2.0正式推出!


要知道這是Spring Boot1.0發(fā)布4年之后第一次重大修訂,因此有多的新功能和特性值得大家期待!在Spring Boot官方博客中我們了解到:Spring Boot2.0版本經(jīng)歷了 17 個(gè)月的開發(fā),有 215 個(gè)不同的使用者提供了超過 6800 次的提交,并表示非常感謝提供貢獻(xiàn)的每一位用戶,和所有對(duì)這些里程碑版本提供重要反饋的早期采用者。


熟悉Spring Boot/Cloud的技術(shù)者們都知道,Spring Boot依賴于Spring,而Spring Cloud又依賴于Spring Boot,因此Spring Boot2.0的發(fā)布正式整合了Spring5.0的很多特性,同樣后面Spring Cloud最新版本的發(fā)布也需要整合最新的Spring Boot2.0內(nèi)容。




新版本特性

新版本值得關(guān)注的亮點(diǎn)有哪些:


基于 Java 8,支持 Java 9


也就是說Spring Boot2.0的最低版本要求為JDK8,據(jù)了解國(guó)內(nèi)大部分的互聯(lián)網(wǎng)公司系統(tǒng)都還跑在JDK1.6/7上,因此想要升級(jí)到Spring Boot2.0的同學(xué)們注意啦,同時(shí)支持了Java9,也僅僅是支持而已。


響應(yīng)式編程


使用 Spring WebFlux/WebFlux.fn提供響應(yīng)式 Web 編程支持, Webflux 是一個(gè)全新的非堵塞的函數(shù)式 Reactive Web 框架,可以用來構(gòu)建異步的、非堵塞的、事件驅(qū)動(dòng)的服務(wù),在伸縮性方面表現(xiàn)非常好,此功能來源于Spring5.0。


Spring Boot2.0也提供對(duì)響應(yīng)式編程的自動(dòng)化配置,如:Reactive Spring Data、Reactive Spring Security 等


HTTP/2支持


在Tomcat, Undertow 和 Jetty 中均已支持 HTTP/2


對(duì)Kotlin支持


引入對(duì) Kotlin 1.2.x 的支持,并提供了一個(gè) runApplication 函數(shù),讓你通過慣用的 Kotlin 來運(yùn)行 Spring Boot 應(yīng)用程序。


全新的執(zhí)行器架構(gòu)


全新的執(zhí)行器架構(gòu),支持 Spring MVC, WebFlux 和 Jersey


支持 Quartz


Spring Boot1.0并沒有提供對(duì) Quartz 的支持,之前出現(xiàn)了各種集成方案,Spring Boot2.0給出了最簡(jiǎn)單的集成方式。


Security


大大的簡(jiǎn)化了安全自動(dòng)配置


Metrics


Metrics方面,Spring Boot 2引入了Micrometer,來統(tǒng)一metrics的規(guī)范,使得開發(fā)人員更好的理解和使用metrics的模塊,而不需要關(guān)心對(duì)接的具體存儲(chǔ)是什么。


監(jiān)控方面


Spring Boot 2 增強(qiáng)了對(duì) Micrometer 的集成。RabbitMQ、JVM 線程和垃圾收集指標(biāo)會(huì)自動(dòng)進(jìn)行 instrument 監(jiān)控,異步控制器(controller)也會(huì)自動(dòng)添加到監(jiān)控里。通過集成,還可以對(duì) InfluxDB 服務(wù)器進(jìn)行監(jiān)控。


數(shù)據(jù)方面


db方面,默認(rèn)引入了HikariCP,替代了之前的tomcat-pool作為底層的數(shù)據(jù)庫連接池, 對(duì)比于tomcat-pool, HikariCP擁有更好的性能,總而言之就是提高了db的訪問速度

JOOQ的支持

Redis方面, 默認(rèn)引入了Lettuce, 替代了之前的jedis作為底層的redis鏈接方式

MongoDB\Hibernate優(yōu)化

Thymeleaf 3


Spring Boot 2支持了Thymeleaf 3,Thymeleaf 3相對(duì)于Thymeleaf 2性能提升可不是一點(diǎn)點(diǎn),因?yàn)?.0的性能確實(shí)不咋地,同時(shí)也使用了新的頁面解析系統(tǒng)。


OAuth 2.0


同時(shí)也加入了 對(duì)于OAuth 2.0的支持, 使得開發(fā)人員更加友好的使用spring-security來完成權(quán)限模塊的開發(fā)


依賴組件的更新


Jetty 9.4

Tomcat 8.5

Flyway 5

Hibernate 5.2

Gradle 3.4

Thymeleaf 3。0

最后還有一個(gè)小彩蛋,Spring Boot2.0支持了動(dòng)態(tài)gif的啟動(dòng)logo打印.


技術(shù)名詞解釋

Spring 現(xiàn)在作為Java開源界的老大,它的一舉一動(dòng)都影響著行業(yè)的技術(shù)方向,在這次發(fā)布的 Release Notes中發(fā)現(xiàn)有很多的技術(shù)都還沒有了解過,也分享出來:


WebFlux 是什么?


WebFlux 模塊的名稱是 spring-webflux,名稱中的 Flux 來源于 Reactor 中的類 Flux。Spring webflux 有一個(gè)全新的非堵塞的函數(shù)式 Reactive Web 框架,可以用來構(gòu)建異步的、非堵塞的、事件驅(qū)動(dòng)的服務(wù),在伸縮性方面表現(xiàn)非常好。


非阻塞的關(guān)鍵預(yù)期好處是能夠以小的固定數(shù)量的線程和較少的內(nèi)存進(jìn)行擴(kuò)展。在服務(wù)器端 WebFlux 支持2種不同的編程模型:


基于注解的 @Controller 和其他注解也支持 Spring MVC

Functional 、Java 8 lambda 風(fēng)格的路由和處理



默認(rèn)情況下,Spring Boot 2使用Netty WebFlux,因?yàn)镹etty在異步非阻塞空間中被廣泛使用,異步非阻塞連接可以節(jié)省更多的資源,提供更高的響應(yīng)度。通過比較Servlet 3.1非阻塞I / O沒有太多的使用,因?yàn)槭褂盟某杀颈容^高,Spring WebFlux打開了一條實(shí)用的通路。


值得注意的是:支持reactive編程的數(shù)據(jù)庫只有MongoDB, redis, Cassandra, Couchbase


HTTP/2


相比 HTTP/1.x,HTTP/2 在底層傳輸做了很大的改動(dòng)和優(yōu)化:


HTTP/2 采用二進(jìn)制格式傳輸數(shù)據(jù),而非 HTTP/1.x 的文本格式。二進(jìn)制格式在協(xié)議的解析和優(yōu)化擴(kuò)展上帶來更多的優(yōu)勢(shì)和可能。

HTTP/2 對(duì)消息頭采用 HPACK 進(jìn)行壓縮傳輸,能夠節(jié)省消息頭占用的網(wǎng)絡(luò)的流量。而 HTTP/1.x 每次請(qǐng)求,都會(huì)攜帶大量冗余頭信息,浪費(fèi)了很多帶寬資源。頭壓縮能夠很好的解決該問題。

多路復(fù)用,直白的說就是所有的請(qǐng)求都是通過一個(gè) TCP 連接并發(fā)完成。HTTP/1.x 雖然通過 pipeline 也能并發(fā)請(qǐng)求,但是多個(gè)請(qǐng)求之間的響應(yīng)會(huì)被阻塞的,所以 pipeline 至今也沒有被普及應(yīng)用,而 HTTP/2 做到了真正的并發(fā)請(qǐng)求。同時(shí),流還支持優(yōu)先級(jí)和流量控制。

Server Push:服務(wù)端能夠更快的把資源推送給客戶端。例如服務(wù)端可以主動(dòng)把 JS 和 CSS 文件推送給客戶端,而不需要客戶端解析 HTML 再發(fā)送這些請(qǐng)求。當(dāng)客戶端需要的時(shí)候,它已經(jīng)在客戶端了。

JOOQ


JOOQ 是基于Java訪問關(guān)系型數(shù)據(jù)庫的工具包。JOOQ 既吸取了傳統(tǒng)ORM操作數(shù)據(jù)的簡(jiǎn)單性和安全性,又保留了原生sql的靈活性,它更像是介于 ORMS和JDBC的中間層。對(duì)于喜歡寫sql的碼農(nóng)來說,JOOQ可以完全滿足你控制欲,可以是用Java代碼寫出sql的感覺來。


Lettuce


Lettuce是一個(gè)可伸縮的線程安全的Redis客戶端,用于同步,異步和反應(yīng)使用。 多個(gè)線程可以共享同一個(gè)RedisConnection。它利用優(yōu)秀netty NIO框架來高效地管理多個(gè)連接。 支持先進(jìn)的Redis功能,如Sentinel,集群,流水線,自動(dòng)重新連接和Redis數(shù)據(jù)模型。


國(guó)內(nèi)使用Jedis的居多,看來以后要多研究研究Lettuce了。


HikariCP


HikariCP是一個(gè)高性能的JDBC連接池。Hikari是日語“光”的意思。可能是目前java業(yè)界最快的數(shù)據(jù)庫連接池。


Flyway


Flyway是獨(dú)立于數(shù)據(jù)庫的應(yīng)用、管理并跟蹤數(shù)據(jù)庫變更的數(shù)據(jù)庫版本管理工具。用通俗的話講,F(xiàn)lyway可以像SVN管理不同人的代碼那樣,管理不同人的sql腳本,從而做到數(shù)據(jù)庫同步。


Gson


Gson 是google解析Json的一個(gè)開源框架,同類的框架fastJson,JackJson等等


看完 Spring Boot 2.0 Release Notes ,發(fā)現(xiàn)又有很多不知道的新技術(shù)了,以后有的學(xué)了


是否選擇升級(jí)

通過以上內(nèi)容可以看出Spring Boot2.0相對(duì)于1.0增加了很多新特性,并且最重要的是Spring Boot2.0依賴的JDK最低版本是1.8,估計(jì)國(guó)內(nèi)大多互聯(lián)網(wǎng)公司還么這么激進(jìn)。另外一個(gè)新的重大版本更新之后,難免會(huì)有一些小Bug什么的,往往需要再發(fā)布幾個(gè)小版本之后,才會(huì)慢慢穩(wěn)定下來。


因此我的建議是,如果不是特別想使用Spring Boot2.0上面提到的新特性,就盡量不要著急進(jìn)行升級(jí),等Spring Boot2.0徹底穩(wěn)定下來后再使用。如果想要升級(jí)也請(qǐng)先從早期的版本升級(jí)到Spring Boot1.5X系列之后,再升級(jí)到Spring Boot2.0版本,Spring Boot2.0的很多配置內(nèi)容和Spring Boot1.0不一致需要注意。


Spring Boot1.0發(fā)布之后給我們帶來了全新的開發(fā)模式,Spring Boot2.0發(fā)布標(biāo)志著Spring Boot已經(jīng)走向成熟,對(duì)Java界帶來的變革已經(jīng)開啟!


寫在最后

前兩天在看池建強(qiáng)老師文章時(shí),發(fā)現(xiàn)老師剛好也介紹了Spring Boot2.0,其中有這么一個(gè)觀點(diǎn):Java 語言為什么能夠長(zhǎng)期占據(jù)編程兵器排行榜第一名的位置呢?因?yàn)槊谩?/p>


Java 能長(zhǎng)盛不衰,主要是命好。每當(dāng)人們覺得 Java 不行了的時(shí)候,總會(huì)有英雄橫刀救美。


最初 Java 開發(fā)出來不知道有什么用的時(shí)候,發(fā)現(xiàn)可以用 Applet 在網(wǎng)頁上做動(dòng)畫。后來企業(yè)級(jí)軟件開發(fā)時(shí)代 JavaEE 大行其道,開源社區(qū) Spring 桃李滿天下。等到了移動(dòng)時(shí)代,人們覺得 Java 要完蛋了,Google 拍馬救市,收購并開放了 Android 平臺(tái),當(dāng)家語言就是 Java,于是 Java 再次煥發(fā)勃勃生機(jī)。目前大數(shù)據(jù)領(lǐng)域,Java 同樣是當(dāng)仁不讓的好手。


現(xiàn)在 Spring Framework 那套東西使用了十幾年,正當(dāng)大家被長(zhǎng)達(dá)幾千行的 ApplicationContext 配置文件折磨的死去活來的時(shí)候,Spring Boot 誕生了。什么是 Spring Boot?用來簡(jiǎn)化 Spring 應(yīng)用程序開發(fā)的。


換句話說就是,當(dāng)你覺得 Java 不好用的時(shí)候,我做了個(gè)輕量級(jí)的 S,讓你好好用 Java。等你覺的 S 也不夠輕了,我做了個(gè) SB,讓你覺得 S 還是挺輕的。


從2002年Rod Johnson的interface21到如今的Spring Boot2.0,Spring 走過了16年的春秋,經(jīng)歷了N多的貢獻(xiàn)者,Spring 也從一個(gè)小小的開源框架,發(fā)展成Java領(lǐng)域最成功的開源軟件沒有之一!同時(shí)做為一名Java開發(fā)從業(yè)者,也特別的感謝Spring這類的開源組織,為推動(dòng)企業(yè)級(jí)開發(fā)做了巨大的貢獻(xiàn),全世界的Java開發(fā)者都是它的受益者!