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