前 言
在軟件開發行業中,技術日新月異,而對於Java開發工程師來說更是體會頗深。Java開發技術可謂“你方唱罷我登場”,曾經SSH框架以低侵入、解耦合的優點一舉取代Sun公司JavaEE(EJB)的地位,成為行業的標準,享有Java三大框架的盛名,一統Java 企業級開發領域近十年之久,但後來SSH逐漸被更簡化、侵入性更低的SSM框架取代。這幾輪更新換代的技術都是Java開發的主線技術,它們管理麻煩、配置煩瑣。其他解決應用場景的技術,如安全、模板引擎、緩存等,更是層出不窮,讓人眼花繚亂,難以選擇,而Spring Boot的出現很好地解決了這些問題。
Spring Boot可以在項目中管理依賴、簡化配置、快速運行,讓開發者盡可能地從技術中解脫出來,把精力放在業務邏輯的開發中。它還推薦了一繫列應用於實際場景的技術來輔助開發者快速開發,免去了他們在眾多Java技術中選型的困擾。基於Spring Boot的這些優點,很多公司都開始使用它。另外,Spring Boot是一個讓開發者用起來很“爽”的框架,這種用戶黏度使它在未來會有越來越大的市場。
谷歌V8引擎和NodeJS的出現和發展,使Web前端工程化成為現實,也讓具有MVVM思想的框架橫掃Web前端開發。利用前端工程化和MVVM框架,開發者可以方便地進行前端項目的設計、開發、部署和管理。Vue作為以上技術的代表,當前在行業中有著廣泛的應用。
HTML5的出現使網頁的適用性變得更強,很多移動端App界面的設計也開始選用HTML5,這改變了之前面向不同操作繫統來開發界面的局面,也大大了公司的成本。隨著Web技術體繫發生重大變革,出現了許多新技術。針對前端開發,Java工程師隻要掌握了HTML和CSS,靠jQuery“一招鮮、喫遍天”的情況已不復存在,而掌握Vue,更是一種需要。
由此表明,對Spring Boot和Vue的學習是開發者重要且緊急的任務。
本書特色
本書會對當前軟件開發中最前沿、最流行的Spring Boot和Vue進行全面介紹,並使用貫穿項目進行實戰。鋻於Spring Boot的學習需要一定的框架基礎,本書會先使用SSM框架開發項目的第一版,隨後替換成Spring Boot,讓讀者通過對比來感受使用Spring Boot的好處。之後逐漸追加常見的開發技術,並和Web前端技術一起完成傳統Web項目的開發。在進行前端工程化及Vue技術的講解後,完成前後端分離架構的項目,並部署上線。
項目貫穿
本書的創新點在於以一個Alan人事管理繫統作為貫穿項目,將每章所講解的技術及時融入其中,讓讀者充分了解該技術在實際項目中的用處和用法。為了便於讀者回顧所學的知識,新項目不會在原項目上直接修改,而是通過復制原項目來建立新項目,層疊式地追加技術,直到完成最終版。除為學習技術本身而建立的項目外,Alan人事管理繫統的前後端項目總數超過30個。
涉及技術廣泛
本書幾乎包括行業中所有的常見技術,工具上使用WebStorm和Intellij IDEA進行前後端的開發,使用npm和Maven構建前後端項目,並利用MySQL存儲數據。項目開發完畢後會通過VMware搭建發行版為CentOS的Linux環境,並使用Nginx在該環境下進行部署運行。
後端技術包括Spring Boot,Spring Boot Test,Spring,Spring MVC,MyBatis,JSTL,Tomcat,Jetty,HikariCP,Logback,Log4j2,Thymeleaf,Spring Data JPA,Redis,Spring Cache,Spring Security,JWT,RESTful,Swagger,Spring Rest Docs,Mock MVC,Spring Task,Quartz,Lombok等。
前端技術包括HTML,CSS,JavaScript,jQuery,Bootstrap,AJAX,NodeJS,Webpack,Babel,ECMAScript,Vue,Vue CLI,vue-cli-service,Local Storage,Vuex,Element UI,axios等。
循序漸進
本書在面臨解決相同應用場景有多個常用技術可選時,會使用不同技術來實現該功能,進行橫向對比,讓讀者感受到各項技術的優劣勢,如使用MyBatis和Spring Data JPA實現持久層,使用Spring Task和Quartz實現定時任務。
如果解決同一場景問題的技術出現了更替,但舊技術沒有被完全淘汰,仍然在行業中有較廣泛的使用,則會進行縱向對比,讓讀者明白新技術的好處。例如,使用JSTL充當模板引擎,再替換成Thymeleaf;分別使用傳統Web項目架構和前後端分離架構。
本書在釐清前後端技術三十年發展脈絡的基礎上,讓讀者能夠具備根據實際項目的規模、應用場景,做好恰當的架構設計和技術選型的能力。
章節概要
本書從技術講解和實現項目的角度主要分為傳統Web項目(1~9章)和前後端分離項目(10~17章)兩大部分。
本書面向的群體
想要學習Spring Boot的Java開發者;
想要學習以Vue為代表的Web前端開發的Java開發者;
想要學習Spring Boot和Vue開發的大學生;
想要以Java和Vue技術就業的軟件開發求職者;
想要掌握Java及Web前端開發流行技術的編程愛好者。