spring cloud 微服務學習筆記02 微服務構建

1、Spring Boot 工程基本結構說明

src/main/java 主程序入口

src/main/resources 配置目錄,其中引入web模塊,將生成static(靜態資源目錄)和templates(模板文件目錄)

src/test 單元測試目錄

2、spring Boot 啓動方式:

   1.通過運行擁有main函數的類啓動

   2.使用mvn spring-bootrun 命令啓動

   3. 通過打包jar包,通過java -jar xxx.jar命令啓動

3、配置詳解

    1. Spring Boot 默認配置爲../application.properties,同時Spring Boot還支持YAML文件,properties和yml文件同時存在,應用會優先加載properties配置,如果屬性衝突則以properties爲準,不衝突則以存在爲準

   2.自定義配置

    除了引用starter模塊預定義配置以爲,還可以在配置文件中自定義參數,如:使用server.port=xxxx指定應用端口,使用spring.application.name=xxxx指定應用名稱(cloud中會被註冊爲服務名),Spring Boot 可以使用@Value註解加載配置,

@Value("${server.port}")
private String port;

   @Value註解支持Place Horder表達式,格式爲"${...}"和SpEL表達式,格式爲#{...}

    3 .參數引用.

    application.properties中參數之間可以使用Place Horder表達式進行引用,如

server.port=1111
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

    4. ${random}配置使用,application.properties可以通過${random}來加載隨機數,而不需要通過程序實現。如:

#隨機值
com.eureka-server.key.value=${random.value}
#隨機int值
com.eureka-server.login.number=${random.int}
#隨機long值
com.eureka-server.login.long=${random.long}
#隨機10以內int值
com.eureka-server.login.snum=${random.int(10)}
#隨機10到20之間int值
com.eureka-server.login.bnum=${random.int[10,20]}

    5. 命令行參數

    Spring Boot 支持通過命令行參數來修改屬性,如:java -jar xxx.jar --server.port=1111

    6. 多環境配置

    Spring Boot實現多環境配置主要有兩種方式,application-{profile}.properties和application.yml配置的spring.profile屬性來定義多個環境的屬性配置。

    使用命令行參數激活不同環境配置,ava -jar xxx.jar --spring.profile.active={profile}

    7. 配置加載順序

        命令行參數->SPRING_APPLICTION_JSON->java:comp/evn中的JNDI屬性->java系統屬性->操作系統環境變量->通過random.*配置的隨機屬性->位於jar包外的properties和yml配置文件->位於jar包內的properties和yml配置文件->@Configuration註解修飾類的@PropertySource註解修飾的屬性->應用默認屬性,通過SpringApplication.setDefaultProperties定義的屬性,優先級從高到低。

 

 

 

 

發佈了16 篇原創文章 · 獲贊 0 · 訪問量 5769
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章