小小又開始學習了,這次學習的內容是Spring Cloud 相關內容,這次學習的是Config相關的內容。
通過git完成分佈式的配置文件的部署,達到更新git,就可以更新配置信息的功能、
Server端
添加相關maven
這裡配置Server端
添加相關的依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
更新相關配置文件
server:
port: 8080
spring:
application:
name: spring-cloud-config-server
cloud:
config:
server:
git:
uri: https://github.com/meteor1993/SpringCloudLearning # git倉庫的地址
search-paths: chapter6/springcloud-config # git倉庫地址下的相對地址,可以配置多個,用,分割。
username: #Git倉庫用戶名
password: #Git倉庫密碼
其中,uri表明git的配置地址,search-paths表明git相關的配置路徑,這裡使用git作為分佈式的配置文件的存儲
其配置文件的路徑為
SpringCloudLearning/chapter6/springcloud-config/springcloud-config-pro.properties
訪問地址為 https://github.com/meteor1993/SpringCloudLearning/blob/master/chapter6/springcloud-config/springcloud-config-pro.properties
添加啟動類相關的註解
這裡添加EnableConfigServer類相關的註解,
用於激活Spring Cloud 對配置中心的相關激活
package com.example.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication
@EnableConfigServer
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
這個時候訪問 http://localhost:8080/springcloud-config/pro 就可以實現對配置文件信息的訪問
其中springcloud-config為配置中心的文件名稱。pro為對應的相關的配置文件。
這裡對應的相關的配置文件,命名有
springcloud-config-dev.properties 對應於dev開發模式
springcloud-config-pro.properties 對應於pro開發模式
springcloud-config-test.properties 對應於test開發模式
其訪問的pro更改為相關的配置類型即可
訪問效果
訪問連接 http://localhost:8080/springcloud-config/pro 即可看到相關的配置信息
用戶端
前面服務端已經訪問完成,這裡訪問客戶端
新建子項目
添加相關的maven
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-config -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
<version>2.2.3.RELEASE</version>
</dependency>
添加配置文件
這裡配置文件分為兩個配置文件,分別為application.yml 和 bootstrap.yml 這兩個配置文件
application.yml
這裡配置application.yml 配置文件
server:
port: 8081
spring:
application:
name: spring-cloud-config-client
再次配置bootstrap.yml 文件
spring:
cloud:
config:
name: springcloud-config
profile: dev
uri: http://localhost:8080/
label: master
這樣就完成了一次的配置文件書寫。
其中name為配置git的name,profile對應於版本。url對應於server的信息,label對應於相關的分支。
添加啟動類
package com.springcloud.configclient;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ConfigClientApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigClientApplication.class, args);
}
}
添加配置信息讀取類
添加配置信息的讀取類
package com.springcloud.configclient.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Author: shiyao.wei
* @Date: 2019/7/4 16:19
* @Version: 1.0
* @Desc:
*/
@RestController
public class HelloController {
@Value("${springcloud.hello}")
private String hello;
@RequestMapping("/hello")
public String from() {
return this.hello;
}
}
這樣,就完成了配置信息的統一讀取