本書目標(biāo)
歡迎閱讀《Spring Boot快速入門》于宙,本書用于幫助有Java編程基礎(chǔ)但未學(xué)習(xí)過(guò)Spring Boot的開(kāi)發(fā)者呆奕,在2小時(shí)之內(nèi)迅速掌握Spring Boot的基本知識(shí)句喷,學(xué)習(xí)之后可以入手使用Spring Boot 開(kāi)發(fā)Java Web應(yīng)用程序把还。
Spring Boot 簡(jiǎn)介
Spring 框架對(duì)于很多 Java 開(kāi)發(fā)人員來(lái)說(shuō)都不陌生鸳玩。自從2002年發(fā)布以來(lái),Spring框架已經(jīng)成為企業(yè)應(yīng)用開(kāi)發(fā)領(lǐng)域非常流行的基礎(chǔ)框架缩宜。有大量的企業(yè)應(yīng)用基于Spring框架來(lái)開(kāi)發(fā)。Spring框 架包含幾十個(gè)不同的子項(xiàng)目甥温,涵蓋應(yīng)用開(kāi)發(fā)的不同方面锻煌。如此多的子項(xiàng)目和組件,一方面方便了開(kāi)發(fā)人員的使用姻蚓,另外一個(gè)方面也帶來(lái)了使用方面的問(wèn)題宋梧。每個(gè)子項(xiàng) 目都有一定的學(xué)習(xí)曲線。開(kāi)發(fā)人員需要了解這些子項(xiàng)目和組件的具體細(xì)節(jié)狰挡,才能知道如何把這些子項(xiàng)目整合起來(lái)形成一個(gè)完整的解決方案捂龄。在如何使用這些組件上, 并沒(méi)有相關(guān)的最佳實(shí)踐提供指導(dǎo)加叁。對(duì)于新接觸Spring框架的開(kāi)發(fā)人員來(lái)說(shuō)倦沧,并不知道如何更好的使用這些組件。Spring框架的另外一個(gè)常見(jiàn)問(wèn)題是要快速創(chuàng)建一個(gè)可以運(yùn)行的應(yīng)用比較麻煩殉农。
SpringBoot 是 Spring 框架的一個(gè)新的子項(xiàng)目刀脏,用于創(chuàng)建Spring4.0 項(xiàng)目。它的開(kāi)發(fā)始于2013年超凳。2014年4 月發(fā)布1.0.0版本愈污,是 Spring 歷史上的一個(gè)集大成版。
它可以自動(dòng)配置 Spring 的各種組件轮傍,并不依賴代碼生成和XML配置文件暂雹,而是推薦用 Java 注解的方式,將程序員從配置的地獄中解脫出來(lái)创夜。SpringBoot 也提供了對(duì)于常見(jiàn)場(chǎng)景的推薦組件配置杭跪,大大提升使用Spring框架時(shí)的開(kāi)發(fā)效率。
從 Spring Boot 項(xiàng)目名稱中的 Boot 一詞可以看出來(lái)驰吓,Spring Boot 的作用在于創(chuàng)建和啟動(dòng)新的基于Spring框架的項(xiàng)目涧尿。它的目的是幫助開(kāi)發(fā)人員很容易的創(chuàng)建出獨(dú)立運(yùn)行和產(chǎn)品級(jí)別的基于 Spring 框架的應(yīng)用。Spring Boot 會(huì)選擇最適合的Spring子項(xiàng)目和第三方開(kāi)源庫(kù)進(jìn)行整合檬贰。大部分 Spring Boot 應(yīng)用只需要非常少的配置就可以快速運(yùn)行起來(lái)姑廉。
Spring Boot 包含的特性如下:
- 創(chuàng)建可以獨(dú)立運(yùn)行的 Spring 應(yīng)用。
- 直接嵌入Tomcat 或 Jetty 服務(wù)器翁涤,不需要部署WAR 文件桥言。
- 提供推薦的基礎(chǔ) POM 文件來(lái)簡(jiǎn)化 Apache Maven 配置萌踱。
- 盡可能的根據(jù)項(xiàng)目依賴來(lái)自動(dòng)配置 Spring 框架。
- 提供可以直接在生產(chǎn)環(huán)境中使用的功能号阿,如性能指標(biāo)并鸵、應(yīng)用信息和應(yīng)用健康檢查。
- 沒(méi)有代碼生成扔涧,也沒(méi)有 XML 配置文件
回首我們以前使用 Spring 框架的時(shí)候园担,我們需要首先在(如果你使用Maven的話)pom文件中增加對(duì)相關(guān)的的依賴(使用gradle來(lái)構(gòu)建的話基本也一樣)然后新建Spring相關(guān)的xml文件,而且往往那些xml文件還不會(huì)少扰柠。然后繼續(xù)使用tomcat或者jetty作為容器來(lái)運(yùn)行這個(gè)工程粉铐。基本上每次創(chuàng)建一個(gè)新的項(xiàng)目都是這么一個(gè)流程卤档,而我們有時(shí)候僅僅想快速的創(chuàng)建一個(gè) Spring Web 工程來(lái)測(cè)試一些東西蝙泼,或者是希望能節(jié)省時(shí)間。
Spring Boot 讓所有 Spring 開(kāi)發(fā)變得更快劝枣,且讓更多的人更快的進(jìn)行Spring 入門體驗(yàn)汤踏,它提供 “starter” POM 來(lái)簡(jiǎn)化我們的Maven配置(也就是說(shuō)使用 Spring Boot 只有配合 Maven / Gradle 等這種依賴管理工具才能發(fā)揮它的能力)。以前構(gòu)建一個(gè)Spring Mvc項(xiàng)目需要進(jìn)行好多配置舔腾,而現(xiàn)在用 Spring Boot 簡(jiǎn)直就是開(kāi)箱即用溪胶,可以非常快速地開(kāi)始開(kāi)發(fā)稳诚,而不會(huì)被其他方面影響哗脖。
Spring Boot 還提供一些常見(jiàn)的非功能性功能(如內(nèi)嵌服務(wù)器、安全扳还、度量才避、健康檢查、外部化配置)氨距,如可以直接地內(nèi)嵌Tomcat/Jetty(不需要單獨(dú)去部署war包)桑逝,絕無(wú)代碼生成,無(wú)須 XML 配置俏让。
適用人群
本書適用于有Java開(kāi)發(fā)基本知識(shí)的讀者楞遏,本書涉及到的Java語(yǔ)法、Maven原理都不會(huì)過(guò)多介紹首昔,有不清楚的請(qǐng)讀者參考其它資源寡喝。
主要內(nèi)容
- 第一章,我們將通過(guò)一個(gè)Spring Boot版的“Hello, World”程序的講解勒奇,讓讀者快速了解Spring Boot的基本使用拘荡,體驗(yàn)到Spring Boot是如何極大的簡(jiǎn)介了Java應(yīng)用程序的開(kāi)發(fā)。
- 第二章撬陵,我們將之前的“Hello, Spring Boot”程序升級(jí)成Web版珊皿,通過(guò)Http Restful API來(lái)訪問(wèn)服務(wù),讓讀者了解Spring Web程序的開(kāi)發(fā)方法巨税。
- 第三章蟋定,我們對(duì)“Hello, Spring Boot”程序繼續(xù)升級(jí),這次我們添加數(shù)據(jù)庫(kù)操作功能草添,讓讀取了解了如何在Spring Boot中用JPA技術(shù)訪問(wèn)操作驶兜。
總結(jié)
通過(guò)這三章的學(xué)習(xí),我們用Spring Boot開(kāi)發(fā)一個(gè)微縮版的Java Web應(yīng)用程序远寸,經(jīng)歷了從前端到后臺(tái)的一系列開(kāi)發(fā)過(guò)程抄淑,體驗(yàn)了Spring Boot開(kāi)發(fā)的極簡(jiǎn)開(kāi)發(fā)風(fēng)格和編程快感。
Spring Boot 是之前Spring 項(xiàng)目的一個(gè)集大成版驰后,不僅極大的簡(jiǎn)化了Java開(kāi)發(fā)肆资,還集成了非常多的開(kāi)源項(xiàng)目,可以說(shuō)是博大精深灶芝。但是限于篇幅有限郑原,本書不可能詳述所有Spring Boot的技術(shù)內(nèi)容,而僅僅是帶大家入門而已夜涕。
后續(xù)筆者將推出更多 Spring Boot && Spring Cloud 技術(shù)干貨犯犁,敬請(qǐng)大家關(guān)注。