Spring Cloud入门一:Spring Cloud Config

前言

对于Spring cloud了解在这里不过多赘述,有兴趣的可以看一下官方文档Spring Cloud 项目综述(技术栈一览)


Spring Cloud Config组件

Spring Cloud Config为分布式系统中的外部统一配置中心提供服务器和客户端支持。使用Config Server,您可以在所有环境中管理应用程序的外部(externalized)配置属性。客户端和服务器映射的概念与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何语言的应用程序一起使用。伴随着应用程序通过从开发环境到测试环境和生产环境的部署过程,您可以管理这些环境之间的配置,并确定应用程序不同环境迁移时需要所有配置属性。服务器存储端的默认实现使用git,因此它可以轻松支持带标签版本的配置环境,以及可以访问用于管理的内容的各种工具。可以轻松添加替代实现,并使用Spring配置将其插入。

我们的Spring Cloud Config Server可以连接到远程的git仓库上,从仓库中读取配置信息。Client可以从Server上加载配置,默认情况下远程配置先于本地配置。


快速开始-git仓库

  • 新建仓库SpringCloudConfig
  • clone仓库
git clone git@github.com:guozhinuan/SpringCloudConfig.git
  • 新建配置文件server-dev.properties
vim server-dev.properties
  • 添加文件内容如下
message.fir=Hello World
message.sec=Hello2
test=Thanks
  • 提交修改

快速开始-Spring Config Server

  • 新建Spring Boot项目,注意在选择Dependency的时候勾选Config Server。
    dependency
  • 修改配置文件,连接到git仓库,修改端口
server:
  port: 8888
spring:
  cloud:
    config:
      server:
        git:
          uri: https://github.com/guozhinuan/SpringCloudConfig.git
  • 修改主函数,嵌入到Spring Boot程序。
@Configuration
@EnableDiscoveryClient
@EnableConfigServer
@SpringBootApplication
public class CloudConfigServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(CloudConfigServerApplication.class, args);
    }
}
  • 启动程序,在命令行测试
$ curl http://localhost:8888/server-dev.json
{"message":{"fir":"Hello World","sec":"Hello2"},"test":"Thanks"}

快速开始-Spring Cloud Client

  • 新建Spring Boot项目,选择Dependency时勾选Config Client。
  • 添加下面依赖:
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
  • 新建bootstrap.yml文件,连接到server,指定application name(与properties文件一致)。
spring:
  application:
    name: server-dev
  cloud:
    config:
      uri: http://localhost:8888
management:
  security:
    enabled: false
  • 在application.yml设置端口号
server:
  port: 8080
  • 新建controller包-新建MessageController.java,获取配置文件的test值并返回给/test访问。
@RefreshScope
@RestController
public class MessageController {

    @Value("${test: FailDefault}")
    private String test;

    @RequestMapping("/test")
    public String test() {
        return this.test;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值