1. 程式人生 > 其它 >史上最全SpringBoot面試題(附答案)

史上最全SpringBoot面試題(附答案)

我把所有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 中對於定時任務的支援主要還是來自 Spring 框架。

在 Spring Boot 中使用定時任務主要有兩種不同的方式,一個就是使用 Spring 中的 @Scheduled 註解,另一個則是使用第三方框架 Quartz。

使用 Spring 中的 @Scheduled 的方式主要通過 @Scheduled 註解來實現。

使用 Quartz ,則按照 Quartz 的方式,定義 Job 和 Trigger 即可。

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



 +- javastack
     +- MyApplication.java
     |
     +- customer
     |   +- Customer.java
     |   +- CustomerController.java
     |   +- CustomerService.java
     |   +- CustomerRepository.java
     |
     +- order
         +- Order.java
         +- OrderController.java
         +- OrderService.java
         +- OrderRepository.java

這個目錄結構是主流及推薦的做法,而在主入口類上加上 @SpringBootApplication 註解來開啟 Spring Boot 的各項能力,如自動配置、元件掃描等。

package cn.javastack.MyApplication;


import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;


@SpringBootApplication
public class MyApplication {


    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }


}

如果你不想這麼做,你也可以充分利用 @EnableAutoConfiguration@ComponentScan 註解自定義你的行為,不過這不是推薦的做法。

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

在微服務中,一個完整的專案被拆分成多個不相同的獨立的服務,各個服務獨立部署在不同的伺服器上,各自的 session 被從物理空間上隔離開了,但是經常,我們需要在不同微服務之間共享 session ,常見的方案就是 Spring Session + Redis 來實現 session 共享。將所有微服務的 session 統一儲存在 Redis 上,當各個微服務對 session 有相關的讀寫操作時,都去操作 Redis 上的 session 。這樣就實現了 session 共享,Spring Session 基於 Spring 中的代理過濾器實現,使得 session 的同步操作對開發人員而言是透明的,非常簡便。

4. 什麼是springboot ?

用來簡化spring應用的初始搭建以及開發過程 使用特定的方式來進行配置(properties或yml檔案)

建立獨立的spring引用程式 main方法執行

嵌入的Tomcat 無需部署war檔案

簡化maven配置

自動配置spring新增對應功能starter自動化配置

spring boot來簡化spring應用開發,約定大於配置,去繁從簡,just run就能建立一個獨立的,產品級別的應用

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

Spring Boot 推薦使用 Java 配置而非 XML 配置,但是 Spring Boot 中也可以使用 XML 配置,通過 @ImportResource 註解可以引入一個 XML 配置。

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

另外我把所有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、Spring MVC 和 Spring 有什麼區別?

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

10. 什麼是 Spring Boot Stater ?

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

12. 什麼是 Spring Profiles?

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

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

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

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

17. spring boot的starter的執行原理

18. 什麼是YAML?

19. springboot自動配置的原理

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

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

22. 什麼是 JavaConfig?

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

24. SpringBoot的原理

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

26. Spring Boot掃描流程?

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

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

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

30. 什麼是 Spring Batch?

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

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

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

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

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

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

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

38. 什麼是 Spring Data?

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

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

41. Springboot整合mybatis的過程

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

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

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

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

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

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

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

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

50. 什麼是 Spring Data REST?

51. Springboot 有哪些優點?

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

53. 什麼是 CSRF 攻擊?

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

55. SpringBoot常用的starter有哪些?

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

57. 如何整合 Spring Boot 和 ActiveMQ?

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

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

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

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

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

63. 什麼是JavaConfig?

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