Spring Cloud Config 分布式配置中心(Dalston版)

构建Config Server

创建一个基础的Spring Boot工程,并在pom.xml中引入需要的依赖内容:

    
        org.springframework.boot
        spring-boot-starter-parent
        1.5.8.RELEASE
         
    

    
        
            org.springframework.boot
            spring-boot-starter-test
            test
        

        
            org.springframework.cloud
            spring-cloud-starter-eureka
        

        
            org.springframework.cloud
            spring-cloud-config-server
        
    

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Dalston.SR2
                pom
                import
            
        
    

创建Spring Boot的程序主类,并添加@EnableConfigServer注解,开启Config Server。

/**
 * @author 向振华
 * @date 2018/10/23 17:00
 */
@EnableDiscoveryClient
@EnableConfigServer
@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }

}

application.properties中配置服务信息。

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

#环境
spring.profiles.active=dev

application-dev.properties中配置git信息以及服务注册地址。

# git管理配置
spring.cloud.config.server.git.uri=https://github.com/xxiangzh/config-repo.git
[email protected]
spring.cloud.config.server.git.password=

eureka.client.serviceUrl.defaultZone=http://localhost:1001/eureka/

 

创建Config Repo

在git上新建config-repo工程,添加配置文件,不同的环境区分不同的配置文件

test-server-dev.properties 开发环境

test-server-test.properties 测试环境

test-server-pro.properties 生成环境

server.port=1003
server.session.timeout=3600
spring.profiles.active=dev

eureka.instance.preferIpAddress=true
eureka.instance.instance-id=127.0.0.1:${server.port}
eureka.instance.ip-address =127.0.0.1

management.security.enabled=false

test.xzh=xiangzhenhua

 

服务端验证

在test-server工程添加bootstrap.properties配置

spring.application.name=test-server
spring.cloud.config.label=master
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=config-server
spring.profiles.active=dev
spring.cloud.config.profile=${spring.profiles.active}
eureka.client.service-url.defaultZone=http://localhost:1001/eureka/

Spring Cloud Config也提供本地存储配置的方式:

我们只需要设置属性spring.profiles.active=native,Config Server会默认从应用的src/main/resource目录下检索配置文件。

也可以通过spring.cloud.config.server.native.searchLocations=file:F:/properties/属性来指定配置文件的位置。

新建TestController

/**
 * @author 向振华
 * @date 2018/12/17 17:20
 */
@RefreshScope //配置自动刷新
@RestController
@RequestMapping("test")
public class TestController {

    @Value("${test.xzh}")
    private String xzh;

    @RequestMapping("/test1")
    public String test1(){
        return xzh;
    }

}

 

测试

启动eureka-server,启动config-server,启动test-server

启动工程后,访问:http://localhost:1001/

Spring Cloud Config 分布式配置中心(Dalston版)_第1张图片

访问test-server http://localhost:1003/test/test1

返回:xiangzhenhua

配置已经被读取到了。

 

你可能感兴趣的:(Spring,Cloud)