中国a级毛片免费观看,啦啦啦资源视频在线完整免费高清,真人性囗交69视频,日本毛X片免费视频观看视频

rexian

咨詢(xún)電話:023-6276-4481

熱門(mén)文章

聯(lián)系方式

電 話:023-6276-4481

郵箱:broiling@qq.com

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

當(dāng)前位置:網(wǎng)站首頁(yè) > 技術(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倉(cāng)庫(kù)的時(shí)候出現(xiàn)了錯(cuò)誤,然后Spring Boot官方又趕緊把 GitHub 上發(fā)布的 v2.0.0.RELEASE 版本進(jìn)行了撤回。到了下午將問(wèn)題修復(fù)后,又重新進(jìn)行了上傳,至此Spring Boot2.0正式推出!


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


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




新版本特性

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


基于 Java 8,支持 Java 9


也就是說(shuō)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 框架,可以用來(lái)構(gòu)建異步的、非堵塞的、事件驅(qū)動(dòng)的服務(wù),在伸縮性方面表現(xiàn)非常好,此功能來(lái)源于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ù),讓你通過(guò)慣用的 Kotlin 來(lái)運(yùn)行 Spring Boot 應(yīng)用程序。


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


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


支持 Quartz


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


Security


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


Metrics


Metrics方面,Spring Boot 2引入了Micrometer,來(lái)統(tǒng)一metrics的規(guī)范,使得開(kāi)發(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)控里。通過(guò)集成,還可以對(duì) InfluxDB 服務(wù)器進(jìn)行監(jiān)控。


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


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

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í)也使用了新的頁(yè)面解析系統(tǒng)。


OAuth 2.0


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


依賴(lài)組件的更新


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開(kāi)源界的老大,它的一舉一動(dòng)都影響著行業(yè)的技術(shù)方向,在這次發(fā)布的 Release Notes中發(fā)現(xiàn)有很多的技術(shù)都還沒(méi)有了解過(guò),也分享出來(lái):


WebFlux 是什么?


WebFlux 模塊的名稱(chēng)是 spring-webflux,名稱(chēng)中的 Flux 來(lái)源于 Reactor 中的類(lèi) Flux。Spring webflux 有一個(gè)全新的非堵塞的函數(shù)式 Reactive Web 框架,可以用來(lái)構(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)度。通過(guò)比較Servlet 3.1非阻塞I / O沒(méi)有太多的使用,因?yàn)槭褂盟某杀颈容^高,Spring WebFlux打開(kāi)了一條實(shí)用的通路。


值得注意的是:支持reactive編程的數(shù)據(jù)庫(kù)只有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ò)展上帶來(lái)更多的優(yōu)勢(shì)和可能。

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

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

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

JOOQ


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


Lettuce


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


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


HikariCP


HikariCP是一個(gè)高性能的JDBC連接池。Hikari是日語(yǔ)“光”的意思??赡苁悄壳癹ava業(yè)界最快的數(shù)據(jù)庫(kù)連接池。


Flyway


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


Gson


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


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


是否選擇升級(jí)

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


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


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


寫(xiě)在最后

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


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


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


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


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


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