spring+cloud學習(1)

Starter POMs:是一套一站式的Spring相關技術解決方案。java

1.spring-boot-starter-web:全棧Web開發模塊,包含嵌入式Tomcat、Spring MVC。web

2.spring-boot-starter-test:通用測試模塊,包含JUnit、Hamcrest、Mockito。spring

3.spring-boot-starter-parent服務器

-----app

4.spring-boot-starter-jdbc / spring-boot-starter-data-jpaspring-boot

5.spring-boot-starter-actuator (監控組件)測試

 

Spring Boot的Maven插件:spa

 啓動項目:mvn spring-boot:run能夠快速啓動Spring Boot項目。.net

在服務器上運行的時候:一般使用mvn install講工程打包成Jar包,再經過java -jar xxx.jar  --server.port=9999啓動運行項目。插件

運行參數中,「--xx」表示對application.properties中的屬性xx進行加載。

 ♥(ˆ◡ˆԅ):YAML:Yet Another Markup Language.

指定環境,指定項目端口:

server:

  port:8881

---

spring:

  profiles:test

server:

  port:8882

---

spring:

  profiles:dev

server:

  port_8883

默認是8881端口。

mention:YAML目前不能經過@PropertySource註解進行加載配置。可是,YAML將屬性加載到內存中保存的時候是有序的,因此當配置文件中的信息須要具有順序的含義時,YAML的配置方式比起properties更有優點。

 *.properties配置文件中的屬性數據,能夠經過@Value註解加載。

eg.

 ————> 

mention:@Value註解加載屬性配置的時候能夠支持兩種表達式來進行配置:

1.一種是上面的PlaceHolder方式,格式爲${....},大括號內爲PlaceHolder。

2.一種是SpEL表達式,格式爲#{...},大括號內爲SpELl表達式。

 隨機配置方式:

 Spring Boot多環境配置;

多環境配置的文件名須要知足:application-{profile}.properties。其中,profile表示環境標識。

具體哪一個配置文件將被加載,須要在application.properties文件中經過spring.prolfile.active來設置。

 actuator監控組件使用:

https://blog.csdn.net/liupeifeng3514/article/details/80558414

首先Pom.xml配置:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
而後,在application.properties中配置:
# 加載全部的端點/默認只加載了 info / health
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
而後運行項目;
訪問監控接口:http://localhost:8888/actuator/health

 

 mark:監控接口參數圖表

 actuator組件中實現的原生endpoint,根據做用,可分爲三類:

1.應用配置類:獲取應用程序中加載的應用配置,環境變量,自動化配置報告等與Spring Boot 應用密切相關的配置類信息。

  一、/autoconfig  條件匹配(或者不成功)成功的自動化配置

  二、/beans  返回的全部建立的Bean,包含Bean的名稱(bean)、scope(做用域)、type(Bean的Java類型)、resource(class文件的具體路徑)、dependencies(依賴的Bean名稱)

  三、/configprops

  四、/env:獲取應用全部可用的環境屬性報告:包括應用的配置屬性,環境變量、JVM屬性。可用配合@ConfigurationProperties註解將他們引入項目中。

  五、/mappings:返回全部Spring MVC的控制映射器關係報告。

  六、/info:改端點用來返回用戶自定義的信息。

2.度量指標類:獲取應用程序運行過程當中用於監控的度量指標,好比內存信息,線程池信息,HTTP請求統計等。

  一、/metrics:返回當前應用的各種重要度量指標,like:內存信息、線程信息、垃圾回收信息。

  二、/health:

  三、/dump:用來暴露程序運行過程當中的線程信息 。

  四、/trace:返回HTTP跟蹤信息。

3.操做控制類:提供了對應用的關閉操做等操做類功能。

  一、/shutdown