本文主要介紹面試過程經(jīng)常會遇到的10道Spring Boot 面試題,通過閱讀本文,你將掌握以下10點
1、什么是 Spring Boot?
Spring Boot 是 Spring 開源組織下的子項目,是 Spring 組件一站式處理方案,主要是簡化了使用 Spring的難度,簡省了繁重的配置,提供了各種啟動器,開發(fā)者能快速上手。
2、為什么要用 Spring Boot?
Spring Boot 優(yōu)點非常多,如:
獨立運行 簡化配置
自動配置
無代碼生成和XML配置
應(yīng)用監(jiān)控
上手容易……
3、Spring Boot 的核心配置文件有哪幾個?它們的區(qū)別是什么?
Spring Boot 的核心配置文件是 application 和 bootstrap 配置文件。
application 配置文件這個容易了解,主要用于 Spring Boot 項目的自動化配置。
bootstrap 配置文件有以下幾個應(yīng)用場景。
使用 Spring Cloud Config 配置中心時,這時需要在 bootstrap
配置文件中增加連接到配置中心的配置屬性來加載外部配置中心的配置信息;
少量固定的不能被覆蓋的屬性;
少量加密/解密的場景;
4、Spring Boot 的配置文件有哪幾種格式?它們有什么區(qū)別?
.properties 和 .yml,它們的區(qū)別主要是書寫格式不同。
1).properties
2).yml
另外,.yml 格式不支持@PropertySource注解導(dǎo)入配置。
5、Spring Boot 的核心注解是哪個?它主要由哪幾個注解組成的?
啟動類上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要組合包含了以下 3 個注解:
@SpringBootConfiguration:組合了 @Configuration 注解,實現(xiàn)配置文件的功能。
@EnableAutoConfiguration:打開自動配置的功能,也可以關(guān)閉某個自動配置的選項,如關(guān)閉數(shù)據(jù)源自動配置功能:@SpringBootApplication(exclude
= { DataSourceAutoConfiguration.class })。
@ComponentScan:Spring組件掃描。
6、開啟 Spring Boot 特性有哪幾種方式?
1)繼承spring-boot-starter-parent項目
2)導(dǎo)入spring-boot-dependencies項目依賴
7、Spring Boot 需要獨立的容器運行嗎?
可以不需要,內(nèi)置了 Tomcat/ Jetty 等容器。
8、運行 Spring Boot 有哪幾種方式?
1)打包用命令或者者放到容器中運行
2)用 Maven/ Gradle 插件運行
3)直接執(zhí)行 main 方法運行
9.springboot常用的starter有哪些?
spring-boot-starter-web 嵌入tomcat和web開發(fā)需要servlet與jsp支持
spring-boot-starter-data-jpa 數(shù)據(jù)庫支持
spring-boot-starter-data-redis redis數(shù)據(jù)庫支持
spring-boot-starter-data-solr solr支持
mybatis-spring-boot-starter 第三方的mybatis集成starter
10、Spring Boot 自動配置原理是什么?
注解 @EnableAutoConfiguration, @Configuration, @ConditionalOnClass
就是自動配置的核心,首先它得是一個配置文件,其次根據(jù)類路徑下能否有這個類去自動配置。