眾所周知,Spring Boot的核心思想是"約定優(yōu)于配置",但是這句話是什么意思呢?
先來說說Spring boot有哪些優(yōu)點(diǎn)?
- 創(chuàng)建獨(dú)立的Spring 應(yīng)用程序
- 簽入tomcat,jetty,undertow等傳統(tǒng)服務(wù)契,使用maven(grandle)打包,無需部署war文件
- 允許通過maven來根據(jù)需要獲取starter
- 盡可能地自動(dòng)配置Spring
- 提供生產(chǎn)就緒功能,如指標(biāo),檢查康檢查和外部配置
- 沒有附加代碼和xml配置要求
為何有這些優(yōu)點(diǎn)?
使用過ssm框架搭建過系統(tǒng)環(huán)境的同學(xué)都知道,中間的配置環(huán)節(jié)及其繁瑣,而且很多配置其實(shí)都是千篇一律,于是Spring boot就將這些配置封裝了起來,在啟動(dòng)時(shí),盡可能的按照已經(jīng)封裝好的配置進(jìn)行自動(dòng)配置。打開maven 倉庫下載的Spring boot 包就可以發(fā)現(xiàn)里面有一個(gè)Spring-boot-autoconfigure的文件夾

image.png
再使用winRAR解壓里面的包

image.png
就可以發(fā)現(xiàn)里面存在著各種各樣的配置類

image.png

image.png
如果我要自定義一些個(gè)性化的配置呢?
Spring boot也給我們留了一手
application.properties/yml
我們可以在application.propoties/yml中自定義自己想要的配置

image.png
還可以備份不同的生產(chǎn)環(huán)境下的配置,通過改寫application.yaml中的active,來選擇到底使用那個(gè)環(huán)境下的配置

image.png
搭建一個(gè)項(xiàng)目還有哪些事可能是共同都需要做的呢?
服務(wù)器的配置和部署
這就要說Spring boot強(qiáng)大的starter了

image.png
Spring boot充分的利用maven,自動(dòng)配置依賴,比如如果在maven中引入spring-boot-starter-web,則maven會(huì)自動(dòng)引入創(chuàng)建一個(gè)簡單的web項(xiàng)目所需要的所有包,spring-boot-starter-tomcat亦是如此,這樣開發(fā)者就不用再另外配置tomcat了。
從哪來到哪去,Spring boot同樣使用maven進(jìn)行打包部署,

image.png
總結(jié):Spring boot是為簡化開發(fā),從Spring 演化而來,將開發(fā)中與業(yè)務(wù)無關(guān)中配置進(jìn)行盡可能的自動(dòng)化,約定化,減少開發(fā)者的手動(dòng)配置,使用了大同便可固化,小不同可以個(gè)性化的思想(自己的理解,不喜勿噴),大大的加快了開發(fā)者的效率,正好適合當(dāng)今將大系統(tǒng)拆分為小系統(tǒng)的微服務(wù)開發(fā)模式。
(以上皆為自己的理解,仍處于學(xué)習(xí)階段,如有錯(cuò)誤之處,或有改進(jìn)之處,歡迎指出)