1. 程式人生 > >Spring Cloud快速入門與Demo

Spring Cloud快速入門與Demo

Spring Cloud 簡介
Spring Cloud是一個基於Spring Boot實現的微服務架構開放工具。它為微服務架構中設計的配置管理、服務治理、斷路器、智慧路由、
微代理、控制匯流排、全域性鎖、決策競選、分散式會話和叢集狀態管理等操作提供了一種簡單的開發方式。

Spring Boot的優點:自動化配置、快速開發、輕鬆部署、Spring Cloud;

帶著問題去學習?
如何快速構建Spring Boot專案
如何實現RESTFUL API介面
如何實現多環境的Spring Boot應用配置
深入理解Spring Boot配置的啟動機制
Spring Boot應用的監控與管理


框架簡介:
1、解決配置問題;
2、通過一系列Starter POMs的定義,整合各項功能,使得依賴管理工作變得更為簡單。
3、自身融入Docker之外,其自身就支援嵌入四的Tomcat、Jetty等容器
4、部署簡單、將Spring Boot應用打成jar,並通過java -jar命令直接執行就能啟動一個標準化的web應用。


快速入門:

專案構建與解析:

系統及工具版本要求:
(1)java7及以上版本
(2)Spring Framework4.2.7及以上版本

(3)Maven3.2及以上版本

啟動Spring Boot應用的方式,參考一下這篇文章:spring Boot的三種啟動方式

配置檔案詳解:
配置檔案:
可以使用傳統的properties檔案之外,支援現在被廣泛推薦使用的YAML檔案;
(1)server.port=8888
(2)
environments:
dev:
url:http://dev.bar.com
name:Developer Setup
自定義引數:
book.name=SpringCloudInAction
在應用中可以通過@Value註解來載入這些自定義的引數


引數引用:


在application.properties中的各個引數之間可以直接通過使用PlaceHolder的方式進行引用,就像下面的設定。
book.name=SpringCloudInAction
book.author=ZhaiYongchao
book.esc=${book.author} is writing《${book.name}》


使用隨機數:
在Spring Boot的屬性配置檔案中,可以通過使用${random}配置來產生隨機的int值、long值或string字串


命令列引數:
在用命令列方式啟動Spring boot應用時,聯絡的兩個減號--就是對application.properties中的屬性值進行賦值的標識。


多環境配置:

在Spring Boot中,多環境配置的檔名需要滿足 application-{profile}.properties的格式,其中{profile}對應你的環境標識。
application-dev.properties:開發環境


總結多環境的配置思路:
在application.properties中配置通用內容,並設定spring.profiles.active=dev,以開發環境為預設;
在application-{profile}.properties中配置各個環境不同的內容。
通過命令列方式去啟用不同環境的配置。


載入順序
1、在命令列中傳入的引數
2、SPRING_APPLICATION_JSON中的屬性。SPRING_APPLICATION_JSON是以JSON歌手配置在系統環境變數中的內容。
3、java:comp/env中的JNDI屬性
4、Java的系統屬性,可以通過System.getProperties()獲得的內容。
5、作業系統的環境變數
6、通過random.*配置的隨機屬性
7、位於當前應用jar包之外,針對不同{profile}環境的配置檔案內容
8、位於當前應用jar包之內,針對不同{profile}環境的配置檔案內容
9、位於當前應用jar包之外的application.properties和YAML配置內容
10、位於當前應用jar包之內的application.properties和YAML配置內容
11.在@Configuration註解修改的類中,通過@PropertySource註解定義的屬性。
12、應用預設屬性,使用SpringApplication.setDefaultProperties定義的內容。
優先順序按上面的順序由高到底,數字越小優先順序越高。


監控與管理
引入Spring-boot-starter-actuator,自動為Spring boot構建的應用提供一系列用於監控的端點。
在Spring Boot應用引入該模組非常簡單,只需要在pom.xml中dependency節點中,
新增Spring-boot-starter-actuator的依賴即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
增加依賴後,重啟應用,可在控制檯中看到log,
在沒有引入任何依賴之前,該端點的內容較為簡單,後續我們在使用Spring cloud的各個元件之後,它的返回會變得非常豐富。


原生端點三大類:
1、應用配置類:獲取應用程式中價值的應用配置、環境變數、自動化配置報告等與Spring Boot應用密切相關的配置類資訊;(靜態)
2、度量指標類:獲取應用程式執行過程中用於監控的度量指標,比如內心資訊、執行緒池資訊、HTTP請求統計等(動態)
3、操作控制類:提供了對應用的關閉等操作類功能,endpoints.shudown.enabled=true