Java面試之Spring Boot/Spring Cloud

104. 什麼是 spring boot?

spring boot 是爲 spring 服務的,是用來簡化新 spring 應用的初始搭建以及開發過程的。spring

105. 爲何要用 spring boot?

  • 配置簡單
  • 獨立運行
  • 自動裝配
  • 無代碼生成和 xml 配置
  • 提供應用監控
  • 易上手
  • 提高開發效率

106. spring boot 核心配置文件是什麼?

spring boot 核心的兩個配置文件:bootstrap

  • bootstrap (. yml 或者 . properties):boostrap 由父 ApplicationContext 加載的,比 applicaton 優先加載,且 boostrap 裏面的屬性不能被覆蓋;
  • application (. yml 或者 . properties):用於 spring boot 項目的自動化配置。

107. spring boot 配置文件有哪幾種類型?它們有什麼區別?

配置文件有 . properties 格式和 . yml 格式,它們主要的區別是書法風格不一樣。架構

. properties 配置以下:app

spring. RabbitMQ. port=5672負載均衡

. yml 配置以下:框架

spring:編輯器

    RabbitMQ:分佈式

        port: 5672url

. yml 格式不支持 @PropertySource 註解導入。spa

108. spring boot 有哪些方式能夠實現熱部署?

  • 使用 devtools 啓動熱部署,添加 devtools 庫,在配置文件中把 spring. devtools. restart. enabled 設置爲 true;
  • 使用 Intellij Idea 編輯器,勾上自動編譯或手動從新編譯。

109. jpa 和 hibernate 有什麼區別?

jpa 全稱 Java Persistence API,是 Java 持久化接口規範,hibernate 屬於 jpa 的具體實現。

110. 什麼是 spring cloud?

spring cloud 是一系列框架的有序集合。它利用 spring boot 的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、斷路器、數據監控等,均可以用 spring boot 的開發風格作到一鍵啓動和部署。

111. spring cloud 斷路器的做用是什麼?

在分佈式架構中,斷路器模式的做用也是相似的,當某個服務單元發生故障(相似用電器發生短路)以後,經過斷路器的故障監控(相似熔斷保險絲),向調用方返回一個錯誤響應,而不是長時間的等待。這樣就不會使得線程因調用故障服務被長時間佔用不釋放,避免了故障在分佈式系統中的蔓延。

 

112. spring cloud 的核心組件有哪些?

  • Eureka:服務註冊於發現。
  • Feign:基於動態代理機制,根據註解和選擇的機器,拼接請求 url 地址,發起請求。
  • Ribbon:實現負載均衡,從一個服務的多臺機器中選擇一臺。
  • Hystrix:提供線程池,不一樣的服務走不一樣的線程池,實現了不一樣服務調用的隔離,避免了服務雪崩的問題。
  • Zuul:網關管理,由 Zuul 網關轉發請求給對應的服務。
相關文章
相關標籤/搜索