目錄:html
springcloud費話之Eureka服務訪問(restTemplate)spring
springcloud費話之Eureka接口調用(feign)apache
springcloud費話之斷路器(hystrix in feign)bootstrap
配置中心的server已經完成,須要很方便的得到配置。maven
因爲多數配置並不是變化,而是服務器啓動的時候加載的,至關於某個服務器啓動的時候,從svn中加載指定的yml或者properties文件svn
而做爲一個客戶端,來獲取svn中的配置,並不能破壞原有的結構,因此config的client中並無@autoConfigClient這樣的註解
1、配置
在springcloud的官方網站獲取pom
也有些版本要求使用spring-cloud-config-client,能夠實測一下,本人使用的版本中並未使用
除此以外,還須要使用web包,完整pom以下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.7.RELEASE</version> <relativePath /> <!-- lookup parent from repository --> </parent> <groupId>com.lyh</groupId> <artifactId>lyh-config-client</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>lyh-config-client</name> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> <!-- SR2會報錯,未解決 --> <spring-cloud.version>Greenwich.SR1</spring-cloud.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- web的jar 必須 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- config的client --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
2、配置文件
客戶端的配置文件bootstrap.yml內容以下:
server:
port: 9005
spring:
application:
name: config-client
cloud:
config:
url: http://localhost:8888
profiles: #該內容爲要獲取的svn的文件名的後綴,本例中使用的是config-client-dev.yml
active: dev
3、代碼
一、啓動類隨意
二、須要controller類,必要部分代碼以下:
package com.lyh.lyh_eureka_server.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @Value("${hello}") private String hello; @RequestMapping("/getProperties") public Object getProperties() { return hello; } }
三、注意:
注意端口,注意application的name,注意配置文件的文件名,注意profiles屬性
4、測試
啓動server
啓動client
訪問上述步驟中的controller,結果以下:
server的console打印內容以下:
以上!