更新時(shí)間:2021-06-22 16:31:11 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1656次
面試的時(shí)候經(jīng)常會(huì)被問(wèn)到,spring和springboot的區(qū)別。或者SpringMVC和Springboot的區(qū)別。其實(shí)這樣的問(wèn)法就不是特別合適。因?yàn)閟pring、springboot、springmvc他們?nèi)齻€(gè)在spring體系中就不在同一個(gè)維度。
spring家族有很多項(xiàng)目,springboot、spring framework、spring cloud等。
我們常用的也就是,springboot、springcloud、springsecurity、springdata。常說(shuō)的springmvc只是spring framework的特性之一。
1、內(nèi)嵌Servlet容器,可以直接打成jar包,通過(guò)java-jar xx.jar運(yùn)行項(xiàng)目。
2、提供starter pom系列,簡(jiǎn)化maven的依賴(lài)加載,減少依賴(lài)沖突的發(fā)生。
3、支持自動(dòng)化配置,如下圖。application.properties文件在引入springboot和未引入springboot時(shí),是不一樣的。
實(shí)現(xiàn)的源碼:springboot回去判斷引入的jar包是否有spring.factories文件
EnableAutoConfiguration
Import({AutoConfigurationImportSelector.class})
protected List<String> getCandidateConfigurations(AnnotationMetadata metadata, AnnotationAttributes attributes) {
List<String> configurations = SpringFactoriesLoader.loadFactoryNames(this.getSpringFactoriesLoaderFactoryClass(), this.getBeanClassLoader());
Assert.notEmpty(configurations, "No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.");
return configurations;
}
總結(jié):springboot 是 spring 家族的一個(gè)項(xiàng)目,他的目標(biāo)是提高使用者的開(kāi)發(fā)效率。
以上就是動(dòng)力節(jié)點(diǎn)小編介紹的"Springboot與Spring的比較區(qū)別",希望對(duì)大家有幫助,更詳細(xì)的Java基礎(chǔ)教程可以登錄動(dòng)力節(jié)點(diǎn)官網(wǎng)查看,學(xué)習(xí)中遇到問(wèn)題,也可以請(qǐng)教在線(xiàn)咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為您服務(wù)。
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話(huà)與您溝通安排學(xué)習(xí)
初級(jí) 202925
初級(jí) 203221
初級(jí) 202629
初級(jí) 203743