更新時間:2022-07-26 來源:黑馬程序員 瀏覽量:
在Spring Boot框架出現(xiàn)之前,Java EE開發(fā)最常用的框架是Spring,該框架開始于2003年,它是由羅德·約翰遜(Rod Johnson)創(chuàng)建的一個輕量級開源框架。Spring框架是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的,它的出現(xiàn)使得開發(fā)者無須開發(fā)重量級的Enterprise JavaBean(EJB),而是通過控制反轉(zhuǎn)(IOC)和面向切面編程(AOP)的思想進行更輕松的企業(yè)應用開發(fā),取代了EJB臃腫、低效的開發(fā)模式。
雖然Spring框架是輕量級的,但它的配置卻是重量級的。Spring的早期版本專注于XML配置,發(fā)一個程序需要配置各種XML配置文件。為了簡化開發(fā),在Spring 2.x版本開始引入少量的注解,如@Component、@Service等。由于支持的注解不是很多且功能尚不完善,所以只能輔助使用。
隨著實際生產(chǎn)中敏捷開發(fā)的需要,以及Spring注解的大量出現(xiàn)和功能改進,到了Spring4.x版本基本可以脫離XML配置文件進行項目開發(fā),多數(shù)開發(fā)者也逐漸感受到了基于注解開發(fā)的便利,因此,在Spring中使用注解開發(fā)逐漸占據(jù)了主流地位。與此同時,Pivotal團隊在原有Spring框架的基礎(chǔ)上通過注解的方式進一步簡化了Spring框架的使用,并基于Spring框架開發(fā)了全新的SpringBoot框架,于2014年4月正式推出了Spring Boot 1.0版本,同時在2018年3月又推出了 Spring Boot 2.0版本。Spring Boot 2.x版本在Spring Boot 1.x版本的基礎(chǔ)上進行了諸多功能的改進和擴展,同時進行了大量的代碼重構(gòu),所以讀者在學習開發(fā)過程中,選擇合適的版本也是非常重要的。我們推薦使用優(yōu)化后的Spring Boot2.x版本。
Spring Boot框架本身并不提供Spring框架的核心特性以及擴展功能,只是用于快速、敏捷地開發(fā)新一代基于Spring框架的應用,并且在開發(fā)過程中大量使用“約定優(yōu)先配置”(convention over configuration)的思想來擺脫Spring框架中各種復雜的手動配置,同時衍生出了Java Config(取代傳統(tǒng)XML配置文件的Java配置類)這種優(yōu)秀的配置方式。也就是說,Spring Boot并不是替代Spring框架的解決方案,而是和Spring框架緊密結(jié)合用于提升Spring開發(fā)者體驗的工具,同時 Spring Boot還集成了大量常用的第三方庫配置(例如Jackson、JDBC、Redis、Mail等)。使用Spring Boot開發(fā)程序時,幾乎是開箱即用(out-of-the-box),大部分Spring Boot應用只需少量配置就能完成相應的功能,這一特性進一步促使開發(fā)者專注于業(yè)務邏輯的實現(xiàn)。
另外,隨著近幾年微服務開發(fā)需求的迅速增加,怎樣快速、簡便地構(gòu)建一個準生產(chǎn)環(huán)境的Spring應用也是擺在開發(fā)者面前的一個難題,而Spring Boot框架的出現(xiàn)恰好完美地解決了這些問題,同時其內(nèi)部還簡化了許多常用的第三方庫配置,使得微服務開發(fā)更加便利,這也間接體現(xiàn)了Spring Boot框架的優(yōu)勢和學習Spring Boot的必要性。