一. Spring?Boot?是什么
????從根本上來說spring?boot?就是一個普通的spring工程相味,只是正好用到spring?boot的起步依賴和自動配置而已族檬。Spring?boot沒有引入任何形式的代碼生成珊燎,它只是利用了spring4的條件化配置特性和maven,gradle的傳遞依賴解析握牧,來實現(xiàn)上下文環(huán)境里的自動化配置钻哩。有了spring?boot?你可以從spring復(fù)雜的樣板化配置中解脫出來,專注于應(yīng)用的邏輯碟渺。
二. Spring?Boot?精要
????(1)?自動化配置
? ? ? ? Spring boot?會為常見的配置場景進(jìn)行自動化配置鲜锚。
? ? ? ? ?例如:spring?boot?在工程的classpath下面發(fā)現(xiàn)了H2數(shù)據(jù)庫,會為你自動注入一個嵌入式的H2數(shù)據(jù)庫苫拍,如果發(fā)現(xiàn)了JdbcTemplate的庫芜繁,會自動為你配置一個JdbcTemplate。還會自動將H2的bean绒极,注入到JdbcTemplate中骏令。這些都是自動完成的。
? (2)起步依賴
? ? ? ? Spring?boot?通過起步依賴為項目的依賴管理?提供幫助垄提,起步依賴就是特殊的Maven或Gradle依賴榔袋,通過依賴傳遞解析周拐,把一些常用功能的庫聚合到一起。?
????????例如:你正用spring?MVC?做一個Restful API摘昌,并用JSON作為資源表述速妖,并想運用遵循JSR-303規(guī)范的 作為參數(shù)校驗
? (3)命令行界面
? ? ? ? Spring Boot Cli?利用起步依賴和自動化配置,讓你僅僅?編寫應(yīng)用程序邏輯代碼就能讓程序跑起來聪黎。
? (4)actuator
acturator?提供了監(jiān)視應(yīng)用程序內(nèi)部情況的能力,包括以下細(xì)節(jié):
1. spring 應(yīng)用程序上下文中配置的bean
2. springboot自動化配置做出的決策
3.?應(yīng)用程序取到的系統(tǒng)環(huán)境變量备恤,系統(tǒng)屬性稿饰,環(huán)境屬性和命令行參數(shù)
4.?應(yīng)用程序中當(dāng)前的線程狀態(tài)
5. 應(yīng)用程序處理的http請求
6.?各種和內(nèi)存用量,垃圾回收露泊,http請求喉镰,數(shù)據(jù)源相關(guān)的用量
actuator通過web界面和shell命令兩種方式提供服務(wù)