附答案!超全SpringBoot面試題總結

胖胖胖胖虎阿發表於2021-10-21

我把所有Java相關的面試題和答案都整理成了PDF,並且帶書籤目錄,閱讀起來非常方便

面試題及答案PDF下載https://www.hicxy.com/?p=2645

面試題及答案PDF下載https://www.hicxy.com/?p=2645

面試題及答案PDF下載https://www.hicxy.com/?p=2645

1. Spring Boot 有哪幾種讀取配置的方式?

Spring Boot 可以通過

  • @PropertySource
  • @Value
  • @Environment,
  • @ConfigurationProperties

來繫結變數

2. spring boot 核心配置檔案是什麼?bootstrap.properties 和 application.properties 有何區別 ?

單純做 Spring Boot 開發,可能不太容易遇到 bootstrap.properties 配置檔案,但是在結合 Spring Cloud 時,這個配置就會經常遇到了,特別是在需要載入一些遠端配置檔案的時侯。

spring boot 核心的兩個配置檔案:

  • bootstrap (. yml 或者 . properties): boostrap 由父 ApplicationContext 載入的,比 applicaton 優先載入,配置在應用程式上下文的引導階段生效。一般來說我們在 Spring Cloud Config 或者 Nacos 中會用到它。且 boostrap 裡面的屬性不能被覆蓋;
  • application (. yml 或者 . properties): 由ApplicatonContext 載入,用於 spring boot 專案的自動化配置。

3. Spring Boot 打成的 jar 和普通的 jar 有什麼區別

1、 Spring Boot 專案最終打包成的 jar 是可執行 jar ,這種 jar 可以直接通過 java -jar xxx.jar 命令來執行,這種 jar 不可以作為普通的 jar 被其他專案依賴,即使依賴了也無法使用其中的類。
2、 Spring Boot 的 jar 無法被其他專案依賴,主要還是他和普通 jar 的結構不同。普通的 jar 包,解壓後直接就是包名,包裡就是我們的程式碼,而 Spring Boot 打包成的可執行 jar 解壓後,在 \BOOT-INF\classes 目錄下才是我們的程式碼,因此無法被直接引用。如果非要引用,可以在 pom.xml 檔案中增加配置,將 Spring Boot 專案打包成兩個 jar ,一個可執行,一個可引用。

4. 我們如何監視所有 Spring Boot 微服務?

Spring Boot 提供監視器端點以監控各個微服務的度量。這些端點對於獲取有關應用程式的資訊(如它們是否已啟動)以及它們的元件(如資料庫等)是否正常執行很有幫助。但是,使用監視器的一個主要缺點或困難是,我們必須單獨開啟應用程式的知識點以瞭解其狀態或健康狀況。想象一下涉及 50 個應用程式的微服務,管理員將不得不擊中所有 50 個應用程式的執行終端。為了幫助我們處理這種情況,我們將使用位於的開源專案。 它建立在 Spring Boot Actuator 之上,它提供了一個 Web UI,使我們能夠視覺化多個應用程式的度量。

5. Spring Boot 中的 starter 到底是什麼

首先,這個 Starter 並非什麼新的技術點,基本上還是基於 Spring 已有功能來實現的。

首先它提供了一個自動化配置類,一般命名為 XXXAutoConfiguration ,在這個配置類中通過條件註解來決定一個配置是否生效(條件註解就是 Spring 中原本就有的),然後它還會提供一系列的預設配置,也允許開發者根據實際情況自定義相關配置,然後通過型別安全的屬性注入將這些配置屬性注入進來,新注入的屬性會代替掉預設屬性。正因為如此,很多第三方框架,我們只需要引入依賴就可以直接使用了。當然,開發者也可以自定義 Starter

後面的問題,大家可以先自己獨立思考一下。

另外我把所有Java相關的面試題和答案都整理出來了,給大家參考一下

面試題及答案PDF下載https://www.hicxy.com/?p=2645

面試題及答案PDF下載https://www.hicxy.com/?p=2645

面試題及答案PDF下載https://www.hicxy.com/?p=2645

6. 如何在自定義埠上執行 Spring Boot應用程式?

7. Spring Boot 自動配置原理是什麼?

8. spring-boot-starter-parent 有什麼用 ?

9. 什麼是 CSRF 攻擊?

10. 建立一個 Spring Boot Project 的最簡單的方法是什麼?

11. 什麼是YAML?

12. 什麼是JavaConfig?

13. Spring Boot、Spring MVC 和 Spring 有什麼區別?

14. 你如何理解 Spring Boot 中的 Starters?

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

16. Spring Boot 配置載入順序詳解

17. Spring Boot 的核心配置檔案有哪幾個?它們的區別是什麼?

18. 什麼是 Swagger?你用 Spring Boot 實現了它嗎?

19. 如何整合 Spring Boot 和 ActiveMQ?

20. 當 Spring Boot 應用程式作為 Java 應用程式執行時,後臺會發生什麼?

21. SpringBoot啟動時都做了什麼?

22. Spring Boot 支援哪些日誌框架?推薦和預設的日誌框架是哪個

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

24. 什麼是 JavaConfig?

25. 什麼是 Spring Data?

26. Spring Boot初始化環境變數流程?

27. YAML 配置的優勢在哪裡 ?

28. Spring Boot 的目錄結構是怎樣的?

29. Spring Boot 還提供了其它的哪些 Starter Project Options?

30. Spring Initializr 是建立 Spring Boot Projects 的唯一方法嗎?

31. SpringBoot自動配置原理是什麼?

32. Spring Boot 打成的 jar 和普通的 jar 有什麼區別 ?

33. RequestMapping 和 GetMapping 的不同之處在哪裡?

34. 為什麼我們不建議在實際的應用程式中使用 Spring Data Rest?

35. Spring Boot、Spring MVC 和 Spring 有什麼區別?

36. 什麼是springboot ?

37. 什麼是嵌入式伺服器?我們為什麼要使用嵌入式伺服器呢?

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

39. spring boot的starter的執行原理

40. 怎麼理解 Spring Boot 中 “約定優於配置“

41. 比較一下 Spring Security 和 Shiro 各自的優缺點 ?

42. SpringBoot 需要獨立的容器執行嗎?

43. 執行 Spring Boot 有哪幾種方式?

44. springboot自動配置的原理

45. 如何禁用一個特定自動配置類?

46. 微服務中如何實現 session 共享

47. 如何重新載入Spring Boot上的更改,而無需重新啟動伺服器?

48. 為什麼我們需要 spring-boot-maven-plugin?

49. Springboot 有哪些優點?

50. 什麼是 Spring Batch?

51. 什麼是 Spring Boot Stater ?

52. SpringBoot常用的starter有哪些?

53. 什麼是 Spring Profiles?

54. Spring Boot中的監視器是什麼?

55. SpringBoot 實現熱部署有哪幾種方式?

56. SpringBoot的原理

57. Spring Boot 是否可以使用 XML 配置 ?

58. Springboot整合mybatis的過程

59. spring-boot-starter-parent 有什麼用

60. Spring Boot 中如何實現定時任務 ?

61. Spring Boot掃描流程?

62. Spring Boot 如何定義多套不同環境配置?

63. 如何使用 Spring Boot 實現分頁和排序?

64. 什麼是 Spring Data REST?

相關文章