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。