1. Spring的缺點(diǎn)分析
雖然Spring的組件代碼是輕量級(jí)的,但它的配置卻是重量級(jí)的氛什。一開始秘症,Spring用XML配置,而且是很多XML配置蔑赘。Spring 2.5引入了基于注解的組件掃描狸驳,這消除了大量針對應(yīng)用程序自身組件的顯式XML配置。Spring 3.0引入了基于Java的配置缩赛,這是一種類型安全的可重構(gòu)配置方式耙箍,可以代替XML。
所有這些配置都代表了開發(fā)時(shí)的損耗酥馍。因?yàn)樵谒伎糞pring特性配置和解決業(yè)務(wù)問題之間需要進(jìn)行思維切換辩昆,所以編寫配置擠占了編寫應(yīng)用程序邏輯的時(shí)間。和所有框架一樣旨袒,Spring實(shí)用汁针,但與此同時(shí)它要求的回報(bào)也不少。
此外砚尽,項(xiàng)目的依賴管理也是一件耗時(shí)耗力的事情施无。在環(huán)境搭建時(shí),需要分析要導(dǎo)入哪些庫的坐標(biāo)尉辑,而且還需要分析導(dǎo)入與之有依賴關(guān)系的其他庫的坐標(biāo)帆精,一旦選錯(cuò)了依賴的版本,隨之而來的不兼容問題就會(huì)嚴(yán)重阻礙項(xiàng)目的開發(fā)進(jìn)度隧魄。
2. SpringBoot的概述
2.1 SpringBoot解決上述Spring的缺點(diǎn)
SpringBoot對上述Spring的缺點(diǎn)進(jìn)行的改善和優(yōu)化,基于約定優(yōu)于配置的思想隘蝎,可以讓開發(fā)人員不必在配置與邏輯業(yè)務(wù)之間進(jìn)行思維的切換购啄,全身心的投入到邏輯業(yè)務(wù)的代碼編寫中,從而大大提高了開發(fā)的效率嘱么,一定程度上縮短了項(xiàng)目周期狮含。
2.2 SpringBoot的特點(diǎn)
- 為基于Spring的開發(fā)提供更快的入門體驗(yàn)
- 開箱即用,沒有代碼生成,也無需XML配置几迄。同時(shí)也可以修改默認(rèn)值來滿足特定的需求
- 提供了一些大型項(xiàng)目中常見的非功能性特性蔚龙,如嵌入式服務(wù)器、安全映胁、指標(biāo)木羹,健康檢測、外部配置等
- SpringBoot不是對Spring功能上的增強(qiáng)解孙,而是提供了一種快速使用Spring的方式
2.3 SpringBoot的核心功能
起步依賴
起步依賴本質(zhì)上是一個(gè)Maven項(xiàng)目對象模型(Project Object Model坑填,POM),定義了對其他庫的傳遞依
賴弛姜,這些東西加在一起即支持某項(xiàng)功能脐瑰。
簡單的說,起步依賴就是將具備某種功能的坐標(biāo)打包到一起廷臼,并提供一些默認(rèn)的功能苍在。自動(dòng)配置
Spring Boot的自動(dòng)配置是一個(gè)運(yùn)行時(shí)(更準(zhǔn)確地說,是應(yīng)用程序啟動(dòng)時(shí))的過程荠商,考慮了眾多因素寂恬,才決定
Spring配置應(yīng)該用哪個(gè),不該用哪個(gè)结啼。該過程是Spring自動(dòng)完成的掠剑。