Spring Boot 面試總結(jié)

SpringBoot優(yōu)點

創(chuàng)建獨(dú)立Spring應(yīng)用

自動配置Spring以及第三方功能

提供生產(chǎn)級別的監(jiān)控、健康檢查及外部化配置

自動starter依賴,簡化構(gòu)建配置

無代碼生成、無需編寫XML



?Spring Boot 的核心注解是哪個?它主要由哪幾個注解組成的?

啟動類上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要組合包含了以下 3 個注解:

@SpringBootConfiguration:組合了 @Configuration 注解,實現(xiàn)配置文件的功能。

@EnableAutoConfiguration:打開自動配置的功能,也可以關(guān)閉某個自動配置的選項,如關(guān)閉數(shù)據(jù)源自動配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。

@ComponentScan:Spring組件掃描。



Spring Boot 自動配置原理是什么?

注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass 就是自動配置的核心,

@EnableAutoConfiguration 給容器導(dǎo)入META-INF/spring.factories 里定義的自動配置類。

篩選有效的自動配置類。

每一個自動配置類結(jié)合對應(yīng)的 xxxProperties.java 讀取配置文件進(jìn)行自動配置功能



Spring Boot 中如何解決跨域問題 ?

CORS,Cross-origin resource sharing) 來解決跨域問題。這種解決方案并非 Spring Boot 特有的,在傳統(tǒng)的 SSM 框架中,就可以通過 CORS 來解決跨域問題,只不過之前我們是在 XML 文件中配置 CORS ,現(xiàn)在可以通過實現(xiàn)WebMvcConfigurer接口然后重寫addCorsMappings方法解決跨域問題。

CorsFilter Spring內(nèi)置的?CorsFilter 過濾器可以解決跨域問題



Spring Boot 中的監(jiān)視器是什么?



Spring Boot 中的 starter 到底是什么 ?

場景啟動器,通過里面的配置文件XXXAutoConfiguration這些類去做一些相關(guān)配置

starter啟動原理

utoconfigure包中配置使用 META-INF/spring.factories 中 EnableAutoConfiguration 的值,使得項目啟動加載指定的自動配置類編寫自動配置類 xxxAutoConfiguration -




spring-boot-starter-parent 有什么用 ?

定義了 Java 編譯版本為 1.8 。

使用 UTF-8 格式編碼。

繼承自 spring-boot-dependencies,這個里邊定義了依賴的版本,也正是因為繼承了這個依賴,所以我們在寫依賴時才不需要寫版本號。

執(zhí)行打包操作的配置。

自動化的資源過濾。

自動化的插件配置。

針對 application.properties 和 application.yml 的資源過濾,包括通過 profile 定義的不同環(huán)境的配置文件,例如 application-dev.properties 和 application-dev.yml。



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容