前言今天跟大家分享下SpringBoot 常見(jiàn)高頻面試題的知識(shí)。 下面是小編關(guān)于SpringBoot的知識(shí)點(diǎn)總結(jié)了一個(gè)思維導(dǎo)圖,希望對(duì)大家所有幫助! 話(huà)不多說(shuō),下面我們開(kāi)始正題:1. 什么是SpringBoot?通過(guò)Spring Boot,可以輕松地創(chuàng)建獨(dú)立的,基于生產(chǎn)級(jí)別的Spring的應(yīng)用程序,您可以“運(yùn)行”它們。大多數(shù)Spring Boot應(yīng)用程序需要最少的Spring配置。 2. SpringBoot的特征?
3. 如何快速構(gòu)建一個(gè)SpringBoot項(xiàng)目?
4. SpringBoot啟動(dòng)類(lèi)注解?它是由哪些注解組成?@SpringBootApplication
5. 什么是yaml?YAML(/?j?m?l/,尾音類(lèi)似camel駱駝)是一個(gè)可讀性高,用來(lái)表達(dá)數(shù)據(jù)序列化的格式。YAML參考了其他多種語(yǔ)言,包括:C語(yǔ)言、Python、Perl。更具有結(jié)構(gòu)性。 6. SpringBoot支持配置文件的格式?1.properties 2.yml 7. SpringBoot啟動(dòng)方式?1. main方法 2. 命令行 java -jar 的方式 3. mvn/gradle 8. SpringBoot需要獨(dú)立的容器運(yùn)行?不需要,內(nèi)置了 Tomcat/Jetty。 9. SpringBoot配置途徑?1. 命令行參數(shù) 2. java:comp/env里的JNDI屬性 3. JVM系統(tǒng)屬性 4. 操作系統(tǒng)環(huán)境變量 5. 隨機(jī)生成的帶random.*前綴的屬性(在設(shè)置其他屬性時(shí),可以引用它們,比如${random. long}) 6. 應(yīng)用程序以外的application.properties或者appliaction.yml文件 7. 打包在應(yīng)用程序內(nèi)的application.properties或者appliaction.yml文件 8. 通過(guò)@PropertySource標(biāo)注的屬性源 9. 默認(rèn)屬性 tips:這個(gè)列表按照優(yōu)先級(jí)排序,也就是說(shuō),任何在高優(yōu)先級(jí)屬性源里設(shè)置的屬性都會(huì)覆蓋低優(yōu)先級(jí)的相 同屬性。 10. application.properties和application.yml文件可放位置?優(yōu)先級(jí)?1. 外置,在相對(duì)于應(yīng)用程序運(yùn)行目錄的/confifig子目錄里。 2. 外置,在應(yīng)用程序運(yùn)行的目錄里。 3. 內(nèi)置,在confifig包內(nèi)。 4. 內(nèi)置,在Classpath根目錄。 這個(gè)列表按照優(yōu)先級(jí)排序,優(yōu)先級(jí)高的會(huì)覆蓋優(yōu)先級(jí)低的。 當(dāng)然我們可以自己指定文件的位置來(lái)加載配置文件。 11. SpringBoot自動(dòng)配置原理?@EnableAutoConfifiguration (開(kāi)啟自動(dòng)配置) 該注解引入了AutoConfifigurationImportSelector,該類(lèi)中 的方法會(huì)掃描所有存在META-INF/spring.factories的jar包。 12. SpringBoot熱部署方式?
13.「bootstrap.yml」 和「application.yml」?bootstrap.yml 優(yōu)先于application.yml 14. SpringBoot如何修改端口號(hào)?yml中: properties: 命令1: 命令2: 15. 開(kāi)啟SpringBoot特性的幾種方式?1. 繼承spring-boot-starter-parent項(xiàng)目 2. 導(dǎo)入spring-boot-dependencies項(xiàng)目依賴(lài) 16. SpringBoot如何兼容Spring項(xiàng)目?在啟動(dòng)類(lèi)加: @ImportResource(locations = {"classpath:spring.xml"}) 17. SpringBoot配置監(jiān)控?18. 獲得Bean裝配報(bào)告信息訪(fǎng)問(wèn)哪個(gè)端點(diǎn)?/beans 端點(diǎn) 19. 關(guān)閉應(yīng)用程序訪(fǎng)問(wèn)哪個(gè)端點(diǎn)?/shutdown 該端點(diǎn)默認(rèn)是關(guān)閉的,如果開(kāi)啟,需要如下設(shè)置。 或者properties格式也是可以的。 20. 查看發(fā)布應(yīng)用信息訪(fǎng)問(wèn)哪個(gè)端點(diǎn)?/info 21. 針對(duì)請(qǐng)求訪(fǎng)問(wèn)的幾個(gè)組合注解?@PatchMapping @PostMapping @GetMapping @PutMapping @DeleteMapping 22. SpringBoot 中的starter?可以理解成對(duì)依賴(lài)的一種合成,starter會(huì)把一個(gè)或一套功能相關(guān)依賴(lài)都包含進(jìn)來(lái),避免了自己去依賴(lài)費(fèi) 事,還有各種包的沖突問(wèn)題。大大的提升了開(kāi)發(fā)效率。 并且相關(guān)配置會(huì)有一個(gè)默認(rèn)值,如果我們自己去配置,就會(huì)覆蓋默認(rèn)值。 23. SpringBoot集成Mybatis?mybatis-spring-boot-starter 24. 什么是SpringProfifiles?一般來(lái)說(shuō)我們從開(kāi)發(fā)到生產(chǎn),經(jīng)過(guò)開(kāi)發(fā)(dev)、測(cè)試(test)、上線(xiàn)(prod)。不同的時(shí)刻我們會(huì)用不同的配置。Spring Profifiles 允許用戶(hù)根據(jù)配置文件(dev,test,prod 等)來(lái)注冊(cè) bean。它們可以讓我們自己選擇什么時(shí)候用什么配置。 25. 不同的環(huán)境的配置文件?可以是 application-{profifile}.properties/yml ,但默認(rèn)是啟動(dòng)主配置文件application.properties,一般 來(lái)說(shuō)我們的不同環(huán)境配置如下。
26. 如何激活某個(gè)環(huán)境的配置?比如我們激活開(kāi)發(fā)環(huán)境。 yml: properties: 命令行: 27. 編寫(xiě)測(cè)試用例的注解?@SpringBootTest 28. SpringBoot異常處理相關(guān)注解?@ControllerAdvice @ExceptionHandler 29. SpringBoot 1.x 和 2.x區(qū)別?·······1. SpringBoot 2基于Spring5和JDK8,Spring 1x用的是低版本。 2. 配置變更,參數(shù)名等。 3. SpringBoot2相關(guān)的插件最低版本很多都比原來(lái)高 4. 2.x配置中的中文可以直接讀取,不用轉(zhuǎn)碼 5. Actuator的變化 6. CacheManager 的變化 30. SpringBoot讀取配置相關(guān)注解有?
|
|
|
來(lái)自: 頭號(hào)碼甲 > 《待分類(lèi)》