spring cloud(三) config

spring cloud 配置中心 config 搭建过程

1.搭建config-server 服务端

1.1. 新建boot工程 pom引入依赖

<!-- config配置中心 -->
<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-config-server</artifactId>
</dependency>
<!-- eureka客户端  -->
<dependency>
       <groupId>org.springframework.cloud</groupId>
       <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

1.2.启动类添加注解@EnableConfigServer

@SpringBootApplication
@EnableConfigServer
@EnableEurekaClient
public class ConfigServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(ConfigServerApplication.class, args);
    }

}

1.3 application.properties添加配置

server.port=9003
spring.application.name=config-server

#eureka注册中心
eureka.client.service-url.defaultZone=http://localhost:9001/eureka/
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ip-address}:${server.port}

#本地配置
#spring.profiles.active=native
#spring.cloud.config.server.native.search-locations=classpath:/

#远端配置
spring.cloud.config.server.git.uri=http://127.0.0.1:8040/root/config-resp.git
spring.cloud.config.server.git.username=root
spring.cloud.config.server.git.password=123456
spring.cloud.config.server.git.search-paths=user_service,product_service
spring.cloud.config.label=master

1.4 配置验证

远端仓库配置文件

页面读取查看

2.配置读取客户端

2.1 pom引入依赖

  <!--配置中心 客户端-->
  <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-config</artifactId>
  </dependency>

2.2 添加bootstrap.properties 配置文件  

   由于spring boot 配置读取顺序,将config相关配置写在application.properties 无效,spring boot 会自动连接默认的localhost:8888 读取配置中心 。所以新建bootstrap.properties配置,bootstrap.properties的优先级大于application.properties。

bootstrap.properties

#eureka注册中心
eureka.client.service-url.defaultZone=http://localhost:9001/eureka/
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=${spring.cloud.client.ip-address}:${server.port}
#config server
spring.cloud.config.name=product_service
spring.cloud.config.profile=dev
spring.cloud.config.label=master
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=config-server

2.3 读取配置,使用验证

程序代码

@Value("${product.name}")
private String productName;

@GetMapping("/getProductName")
public String getProductName(){
     return productName;
}

调用程序获取

 

项目github 地址  https://github.com/yongxiangliu123/SpringCloud

posted @ 2019-06-25 10:55  农夫与蛇丶  阅读(225)  评论(0)    收藏  举报