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 網關轉發請求給對應的服務。