作者 | Tim Anderson
編譯 | 言征
出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)
VMWare已經(jīng)宣布了Spring Boot 3.2的全面可用性,這是對(duì)這個(gè)流行的開源Java框架的重大更新,截至撰寫本文時(shí),最新版本是release Candidate 2.0。
1、Spring Boot3.2 新特性
Spring Boot 3.2是第一個(gè)支持Java 21虛擬線程(也稱為Project Loom)的產(chǎn)品,Java 21 虛擬線程將會(huì)對(duì)其性能和效率產(chǎn)生重大影響。根據(jù)VMWare開發(fā)者倡導(dǎo)者Josh Long的說法,在Java 21之前,每個(gè)新線程都使用2MB的RAM,而虛擬線程是輕量級(jí)的。
同時(shí),該版本還支持使用Spring Boot和虛擬線程的GraalVM本機(jī)映像編譯,大大縮短了啟動(dòng)時(shí)間。
另一個(gè)新功能是SSL熱重新加載。這使得嵌入式web服務(wù)器,特別是Tomcat和Netty,能夠在不需要重新啟動(dòng)的情況下更新SSL證書。安裝新證書后,現(xiàn)有連接將使用舊證書,但新連接將使用替換證書進(jìn)行保護(hù)。
VMWare表示,Spring Boot的使用量正在顯著增長(zhǎng),并聲稱根據(jù)年度VMWare春季狀況報(bào)告,它“連續(xù)5年同比增長(zhǎng)50%”。
2、Spring Boot:越簡(jiǎn)單越受歡迎
Spring和運(yùn)行在其上的Spring Boot,二者迭代的歷史都證明了一個(gè)規(guī)律:即務(wù)實(shí)的方法通常會(huì)戰(zhàn)勝不必要的復(fù)雜性。
Spring源于Rod Johnson在2002年寫的一本名為《Expert One on One J2EE Design and Development》的書,他在書中描述了Java 2 EE(Enterprise Edition)中的錯(cuò)誤,他認(rèn)為這些錯(cuò)誤過于復(fù)雜,是許多失敗項(xiàng)目的原因。這本書包含了一個(gè)示例項(xiàng)目,避免了不必要的EJB(EnterpriseJavaBeans)使用,并將其發(fā)展為Spring框架。
Spring 1.0于2003年發(fā)布。Spring Boot的第一個(gè)版本旨在簡(jiǎn)化平臺(tái)。發(fā)布的帖子解釋道:“它對(duì)Spring平臺(tái)有著獨(dú)到的看法,這樣新用戶和現(xiàn)有用戶就可以快速獲得他們需要的東西。”
Spring Boot 1.0于2014年4月首次發(fā)布。即便快進(jìn)到今天,Spring Boot依舊是許多Java項(xiàng)目的默認(rèn)選擇。
3、Spring AI 正在預(yù)覽中
人工智能呢?Spring AI目前正在預(yù)覽中,旨在為包括OpenAI和Azure OpenAI在內(nèi)的服務(wù)提供抽象,這讓人想起微軟的.NET語(yǔ)義內(nèi)核。命令:Spring boot add AI將向現(xiàn)有項(xiàng)目添加庫(kù),以支持聊天機(jī)器人等AI功能。根據(jù)這些文檔,“該項(xiàng)目的成立相信,下一波Generative AI應(yīng)用程序?qū)⒉粌H面向Python開發(fā)人員,而且將在許多編程語(yǔ)言中無處不在?!?/p>