Spring Boot教程(一)(快樂入門)(上)
原創者:文思
Spring Boot就是Spring,它做了那些沒有它你也會去做的Spring Bean配置。它使用“習慣優於配置”(專案中存在大量的配置,此外還內建了一個習慣性的配置,讓你無需手動進行配置)的理念讓你的專案快速執行起來。使用Spring Boot很容易建立一個獨立執行(執行jar,內嵌Servlet容器)、準生產級別的基於Spring框架的專案。
SpringBoot精要:
1自動配置auto-configuration: 針對很多Spring應用程式常見的應用功能,Spring Boot能自動提供相關預設配置,進一步請自己理解
2起步依賴starters:告訴Spring Boot需要什麼功能,它就能引入需要的starter庫,進一步請自己理解
3命令列介面cli: 這是Spring Boot的可選特性,藉此你只需寫程式碼就能完成完整的應用程式,無需傳統專案構建,或許不常用
4Actuator:讓你能夠深入執行中的Spring Boot應用程式,對應用系統的自省和監控的整合功能。
以上是Spring Boot有四大神器。
環境要求:
目前Spring Boot正式版為1.5.1.RELEASE預設情況下,Spring Boot
1.5.1.RELEASE需要Java 7和Spring Framework
4.3.6.RELEASE或更高版本。推薦Java 8
極速入門:
傳統spring mvc開發一個web專案:
Maven構建檔案及spring,spring
mvc,servlet api,jdbc依賴類
Web.xml配置
Spring.xml springMvc.xml配置
Tomcat
Contoller類,只有contoller類和業務具體相關,其它都是配置及開發環境搭建、準備。
使用spring boot:
推薦Spring Initializr,它從本質上來說就是一個Web應用程式,它能為你生成Spring Boot專案
下載專案壓縮包,匯入到你的工程
專案裡面基本沒有程式碼,除了幾個空目錄外,還包含如下幾樣東西。
·pom.xml:Maven構建說明檔案。
·Chapter1Application.java:一個帶有main()方法的類,用於啟動應用程式(關鍵)。
·Chapter1ApplicationTests.java:一個空的Junit測試類,它載入了一個使用Spring Boot字典配置功能的Spring應用程式上下文。
application.properties:一個空的properties檔案,你可以根據需要新增配置屬性。
解析pom.xml
這塊配置就是Spring Boot父級依賴,有了這個,當前的專案就是Spring Boot專案了,spring-boot-starter-parent是一個特殊的starter,它用來提供相關的Maven預設依賴,使用它之後,常用的包依賴可以省去version標籤。檢視C:\Users\goodluck\.m2\repository\org\springframework\boot\spring-boot-parent\1.5.4.RELEASE\spring-boot-parent-1.5.4.RELEASE.pom:
relativePath是相對路徑的意思,再開啟引用檔案spring-boot-dependencies-1.5.1.RELEASE.pom:
如果你不想使用某個依賴預設的版本,您還可以通過覆蓋自己的專案中的屬性來覆蓋各個依賴項,例如,要升級到另一個Spring
Data版本系列,要升級mysql版本,不想使用servletr-api3.1版本,都可以在pom.xml中更換,如:
並不是每個人都喜歡繼承自spring-boot-starter-parent POM。您可能有您需要使用的自己的公司標準parent,或者您可能更喜歡顯式宣告所有的Maven配置,再或者有10個、20個甚至更多模組繼承自同一個模組。要知道,Maven的繼承和Java的繼承一樣,是無法實現多重繼承的,如果那麼按照我們之前的做法,這個父模組的dependencyManagement會包含大量的依賴。如果你想把這些依賴分類以更清晰的管理,那就不可能了,import scope依賴能解決這個問題如果不想使用spring-boot-starter-parent,可以通過使用scope = import依賴關係來保持依賴關係管理。步驟:
1把dependencyManagement放到單獨的專門用來管理依賴的pom中,比如叫base-parent1
2通過非繼承的方式來引入這段依賴管理配置,需要使用依賴的模組中通過import scope依賴,就可以引入dependencyManagement
以我們的專案為例,在我們的專案demo中不使用starter-parent的話,在pom.xml中:
該設定不允許您使用如上所述的屬性(properties)覆蓋各個依賴項,要實現相同的結果,您需要在spring-boot-dependencies項之前的專案的dependencyManagement中新增一個配置,例如,要升級到另一個Spring Data版本系列,您可以將以下內容新增到pom.xml中:
這樣配置的話,自己的專案裡面就不需要繼承SpringBoot的module了,而可以繼承自己專案的module了。
---------------------------------------------------------------------------------------------------------------------------------------------------
起步依賴 spring-boot-starter-xx
Spring Boot提供了很多”開箱即用“的依賴模組,都是以spring-boot-starter-xx作為命名的。
比如我們之前要實現web功能,引入了spring-boot-starter-web這個起步依賴。我們來看看spring-boot-starter-web到底依賴了哪些,如圖:
好多好多,看著是不是很熟悉,所以Spring Boot通過提供眾多起步依賴降低專案依賴的複雜度。起步依賴本質上是一個Maven專案物件模型(Project Object Model,POM),定義了對其他庫的傳遞依賴。起步依賴的命名都暗示了它們提供的某種或者某類功能。
上面的配置就是Spring Boot Maven外掛,Spring Boot Maven可以把專案打包成一個可執行的超級JAR(uber-JAR),包括把應用程式的所有依賴打入JAR檔案內,併為JAR新增一個描述檔案,其中的內容能讓你用java -jar來執行應用程式,在main方法中即可執行。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
應用入口類
@RestController註解等價於@Controller+@ResponseBody的結合,使用這個註解的類裡面的方法都以json格式輸出
有三種啟動方式:
run as -> java applicion或者run as -> spring boot app 或者在Boot Dashbord中debug
使用命令 mvn spring-boot:run”
執行“mvn package”進行打包時,會打包成一個可以直接執行的 JAR 檔案,使用“java -jar”命令
開啟瀏覽器訪問:
上集講解完畢,請關注下集原始碼剖析。
相關文章
- Spring Boot 2.0.1 入門教程Spring Boot
- Spring Boot 2.0 WebFlux 教程 (一) | 入門篇Spring BootWebUX
- Spring Boot系列(一):Spring Boot 入門篇Spring Boot
- Spring Boot 整合 Spring Security 入門案例教程Spring Boot
- Spring Boot (一)快速入門Spring Boot
- Spring Boot(一):入門篇Spring Boot
- Spring Boot入門(一):搭建Spring Boot專案Spring Boot
- Spring boot入門(一):快速搭建Spring boot專案Spring Boot
- Spring Boot入門Spring Boot
- .NET程式設計師如何快入門Spring Boot程式設計師Spring Boot
- Spring MVC入門教程(一)SpringMVC
- Spring Boot Dubbo 入門Spring Boot
- spring boot快速入門Spring Boot
- Spring Boot HttpExchange 入門Spring BootHTTP
- Spring Boot 2.x基礎教程:快速入門Spring Boot
- Spring Boot -01- 快速入門篇(圖文教程)Spring Boot
- Spring Boot 最佳實踐(一)快速入門Spring Boot
- MongoDB 入門教程系列之二:使用 Spring Boot 操作 MongoDBMongoDBSpring Boot
- Spring Boot的Kafka入門Spring BootKafka
- 專題一之Spring Boot入門詳解Spring Boot
- Spring Boot整合hessian入門Spring Boot
- Spring Boot 2和JPA入門Spring Boot
- Spring Boot 中使用 thrift 入門Spring Boot
- Spring Boot基礎教程:EhCache快取的使用Spring Boot快取
- 快應用快速入門教程
- Spring Boot 揭祕與實戰(二) 資料快取篇 - 快速入門Spring Boot快取
- spring-boot入門程式詳解Springboot
- GraphQL SPQR和Spring Boot入門 | baeldungSpring Boot
- Spring Boot 中使用 grpc 入門Spring BootRPC
- Spring boot入門(二):Spring boot整合MySql,Mybatis和PageHelper外掛Spring BootMySqlMyBatis
- Spring Boot入門(一):使用IDEA建立Spring Boot專案並使用yaml配置檔案Spring BootIdeaYAML
- Spring MVC入門教程(二)SpringMVC
- 快應用學習教程-入門
- 另一種快取,Spring Boot 整合 Ehcache快取Spring Boot
- 5、Spring Boot快取Spring Boot快取
- Spring Boot入門-快速搭建web專案Spring BootWeb
- spring boot初級入門書目錄Spring Boot
- 玩轉spring boot——結合JPA入門Spring Boot