前言
寫作初衷
因為15 歲的侄兒對Web 後端開發很有興趣,於是買了十多本關於青少年程式設計的圖書給他。但是,他讀過之後感覺並不適用,純理論知識的圖書很枯燥,太實戰的又摸不著頭腦。所以,筆者想嘗試來寫一本符合自己期望的圖書,當然這是主觀願望,筆者個人也認為市面上很多圖書非常不錯,只是針對讀者群不同。
正好,在筆者熟悉的C、Python、PHP、Go 和Java 語言中,Java 的Spring Boot 架構技術就像搭積木一樣簡單、愉悅。並且,各大企業都在廣泛應用它,Java 相關的技術職位目前依然是需求量最大的。而且在十年之內,估計不會出現技術落後的情況。所以,筆者就打定主意,要寫一本閱讀輕鬆、快樂,有即時收穫感、創造性,並融入了產品思維和技術及業務思維的Spring Boot 實戰類圖書。
對大部分普通家庭的孩子來說,IT 業是一個單靠個人或團隊能力就能「最快實現人生小目標」的企業。所以,如果這本書可以幫助讀者學會Spring Boot,那筆者的寫作就是非常有意義的。
本書的價值
本書基於Spring Boot 2.X 版本,採用「基礎知識+ 實例」的形式撰寫,透過「58 個以知識為基礎的實例+2 個綜合性的專案」,全面深入地說明了Spring Boot 的主要技術原理和應用。
本書把晦澀難懂的理論透過圖文結合的方式說明,把不易了解的名詞用通俗化的文字說明,將每個抽象的基礎知識用具化的實例進行展現。這讓讀者在閱讀時既能讀懂理論和概念,也能立即學會如何使用。
本書說明了在工作中如何根據應用場景和歷史包袱進行各版本間的無縫升級、降級(公司專案相對於自己學習的版本可能存在新舊和不對應的情況,所以需要進行專案的升級或根據公司的歷史專案進行舊版本的維護)。
工欲善其事,必先利其器,本書還說明了開發工具的使用,以及一些非常實用的技能,以幫助讀者實現高效開發。
不僅如此,本書還比較說明了多種同類技術的使用和區別,讀者可以根據自己的喜好進行選擇。
下面列舉說明。
■ 開發模式:本書說明了歷史悠久,但現在依然被廣泛使用的分層應用程式開發模式MVC(Model View Controller),還說明了當下逐漸熱門的響應式開發模式WebFlux。
■ ORM(Object Relational Mapping,物件關係對映)架構:資料庫的操作是程式開發中非常重要的一塊,根據國內外使用者的習慣,本書比較說明了全球最熱門的JPA 和最流行的MyBatis。
■ 安全架構:安全架構是必備內容。本書說明了相關書籍、資料非常少也很少用,但是超級實用和好用的Spring Boot 官方安全架構Spring Security。同時也比較全面地說明了使用較多的Apache 安全架構Shiro。
■ 搜尋引擎:搜尋是各公司使用非常多的功能,但基本都是整合兩大搜尋架構—Elasticsearch 和Solr。所以,本書也非常詳細地說明這兩大搜尋架構的原理和實際使用方法。
■ Redis:Redis 是大規模網際網路應用必不可少的記憶體快取記憶體資料庫,所以本書也專門用一章說明了Redis 的原理、概念和實際應用。
■ RabbitMQ:RabbitMQ 是近年來使用非常廣泛的訊息中介軟體,本書深入地說明它的原理、概念和實際應用。
■ 實戰:本書以實例貫穿全書。每章都會有大大小小可以用於商業生產的實例。不僅如此,在最後兩章說明了多種技術的綜合應用,而且也都是可以用於生產專案的實例。本書的各個章節的實例都力求實用,且實現簡單、邏輯清晰,讓讀者看後能及時了解基礎知識,並實現對基礎知識的實際應用,收穫滿滿。
本書適用的讀者群
本書定位於入門、進階、實戰。所以,會照顧到有一定程式設計經驗,對程式設計有一定了解的初學者,同時也兼顧相對資深的開發人員。
以下讀者都可以輕鬆地學習本書。
■ 具有一定英文基礎的大專院校電腦相關科系的學生。
■ Java 語言初學者。
■ 在教育訓練機構學習過 Java 語言的學生。
■ 需要加強動手能力的技術人員。
■ 了解過 Java 架構,如 SSH(Struts + Spring + Hibernate)、SSM(Spring +SpringMVC + MyBatis)、JFinal、SpringMVC、Struts、Hibernate 等, 想了解新技術的開發、測試、專案管理的人員。
■ 已經熟練使用 Java EE、Java SE,想轉而使用 Spring Boot 的技術人員。
■ 使用過其他語言,如:PHP、C#、Python 的開發人員。
■ 使用過其他語言架構,如 Laravel、Yii、Thinkphp、Symfony 和 Zend,想轉而使用Java 語言的開發人員(這種類型的開發人員轉入Spring Boot尤為輕鬆)。
■ 會使用 Scala、Java、Groovy 和 Kotlin 等 JVM 語言的開發人員。
本書範例程式碼
本書所附之範例程式碼,請至本公司官網https: //deepmind.com.tw 下載,有簡體、繁體兩個版本。本書作者為中國大陸人士,讀者可至原作者github下載最新版原始程式,其網址為:https://github.com/xiuhuai/Spring-Boot-Book
特別感謝本書編輯吳宏偉對我的作品始終堅持高標準、嚴格要求,以確保高品質,獲得讀者認可。他甚至對一個多餘的空格,都能嚴格地檢查出來,更別說對英文大小寫、語法、基礎知識錯誤的謹慎檢查和修改,以及對基礎知識和實例程式的實用價值的重視程度,對本書的內容架構做了非常多的指導。
特別感謝電子工業出版社其他為本書默默奉獻的同仁,謝謝你們辛苦、嚴謹的工作。
還要特別感謝購買或是閱讀到本書的有緣讀者,很感恩有你們。因為你們的閱讀,作品才不孤獨,文字才有意義,你的讚賞或批評,都是對筆者最真誠的認可和鼓勵,因為,我深知作為技術書籍的作者,仍然有很遠的路要走,一切都可以做得更好。
最後,特別感謝東軟集團一位特別細心、嚴謹的資深高級軟體開發工程師王蕾,在本書的樣書閱讀中提供了非常多的寶貴意見。
Spring Boot 技術博大精深,由於本書篇幅有限,且本人精力和技術有限,難免會出現紕漏或基礎知識介紹不全面的情況,敬請批評與指正。聯繫作者請發E-mail 到363694485@qq.com,或加入本書討論QQ 群:755572590,或去本書的原始程式碼倉庫GitHub 提交問題,網址是:github.com/xiuhuai/Spring-Boot-Book
龍中華