Spring Boot 簡介
1. 前言
每逢春暖花開的時節,我都會想起大學時代。那時候的我,在陽光明媚的日子里,坐在圖書館的落地窗前。桌子上是一疊 Java Web 書本,還有我那破破卻可愛的筆記本電腦。
那是 SSH 風華正茂的年代,Spring 如日中天,負責整合各種框架,儼然一副老大哥的樣子;Hibernate 是數據持久層的不二之選,iBatis 在它面前就像個小老弟;Struts 則是 MVC 框架的形象代言,不懂點 Struts 都不好意思說在做 Web 開發。
而我卻總是,被 SSH 繁瑣的配置困擾。SSH 各有一大堆配置,當他們碰到一起,還需要額外互相配置。就像三個老朋友,每次再重逢,還要互相介紹。
做一個簡單的項目,竟有一大半時間在配置。不是在編輯配置文件的路上,就是在修復配置錯誤的途中。
程序開發不應該是簡單而優雅的嗎?正如我們所追求的生活。
2. Spring 的誕生
實際上,讓開發變得簡單,是 Spring 誕生的原動力。
Java 官方推出的企業級開發標準是 EJB ,但 EJB 是相當臃腫、低效的,且難以測試,把當時的 Java 開發者折騰得不輕。
那時候,國外有一個年輕的小伙 Rod Johnson,對 SSH 的繁瑣產生了質疑。他不光質疑,還去做了他認為對的事情。
經過不斷的經驗總結和實踐,他在 2004 年推出了經典力作《Expert one-on-one J2EE Development without EJB》。該書奠定了 Spring 框架的思想基礎,把 EJB 的種種缺點逐一否定,還提出了簡潔的替代方案。
從此 Rod Johnson 和 Spring 框架一炮而紅,其影響之深遠,恐怕連 Rod Johnson 自己都想不到吧。
有時候,不要過于迷信官方,也要敢于思考和質疑。實踐是檢驗真理的唯一標準,編程也不外乎是。
3. Spring 的發展
隨著 Spring 的流行,Spring 團隊也深感責任重大。Spring 團隊對 Spring 的優化工作也從未停歇,從 Spring1.x 到現在的 Spring5.x,每一個版本號都是進化的腳印。
最開始的時候,Spring 只支持基于 XML 的配置,后來又陸續增加了對注解配置、Java 類配置的支持。
但是無論怎么變換,都需要開發人員手工去配置,而這些配置往往千篇一律,令人乏味。
我們駕駛汽車,默認都是車窗關閉、空調關閉、儀表盤開啟這樣的設置。如果每次進入汽車,都要手工逐一設置一遍,其實完全沒有必要。
同理,既然大多數人開發 Spring 應用,都有默認的習慣。那何不直接提供默認配置,項目啟動時自動采用默認配置,只有當需要個性化功能時,再去手工配置。
所以,在 2014 年,一個叫 Spring Boot 的框架,就這么出現了。
4. Spring Boot 的由來
Spring Boot 為簡化 Spring 應用開發而生,Spring Boot 中的 Boot 一詞,即為快速啟動的意思。Spring Boot 可以在零配置情況下一鍵啟動,簡潔而優雅。
為了讓 Spring 開發者痛快到底,Spring 團隊做了以下設計:
- 簡化依賴,提供整合的依賴項,告別逐一添加依賴項的煩惱;
- 簡化配置,提供約定俗成的默認配置,告別編寫各種配置的繁瑣;
- 簡化部署,內置 servlet 容器,開發時一鍵即運行。可打包為 jar 文件,部署時一行命令即啟動;
- 簡化監控,提供簡單方便的運行監控方式。
基于以上設計目的,Spring 團隊推出了 Spring Boot 。
5. Spring Boot 的江湖地位
由于 Spring Boot 設計優雅,實現簡單,可以節省不少開發時間。
從此,程序員們有了更多時間去陪妹子逛街買裙子。沒有女朋友的小伙伴們,也有了更多時間思考追女孩的方案(一定要勇敢地行動呀)。從一定程度上講,Spring Boot 降低了程序員群體的單身比例。
所以 Spring Boot 的火爆是必然的,據了解,Spring Boot 框架已經是 Java 企業級應用開發的主流框架了。
另外由于微服務的火爆,作為 Spring Cloud 實現基礎的 Spring Boot ,更是春風得意,風頭一時無兩。
所以不管出于哪種目的,為跳槽、為加薪、為方便、為省心、為學習、為進步、為愛情、為家庭,Spring Boot 都是 Java 開發旅途的重要風景。
而我,本系列文章的作者,愿陪你看萬山紅遍、層林盡染,用盡量輕松的語言,講一些編程的故事和經驗,陪你度過一段愉快的 Spring Boot 學習時光。
6. Spring Boot 的學習基礎
Spring Boot 非常好用,但是并不是 0 基礎就可以直接上手的。
Java 語言基礎是必備的,這個不必贅述。
在學習 Spring Boot 之前,最好是已經對 Spring 及 Spring MVC 框架有一定的了解。Spring Boot 是一個快速開發框架,其技術基礎幾乎全部來源自 Spring 。
所以本系列教程的學習基礎,是 Java 、 Spring 及 Spring MVC 。其中 Spring MVC 是 Spring 大家庭的非常重要的一員,所以此處單獨拿出來強調下。
7. 小結
Spring Boot 簡單易用,可以快速上手,迅速提高開發效率,值得學習!