Spring Boot(二)之搭建spring cloud config配置中心

Spring Boot官网:点击打开链接

Spring Cloud官网:点击打开链接

Spring Cloud Config官网 : 点击打开链接

上一篇是SpringBoot入门,这篇就是干货结合springcloud的介绍了,在学习搭建之前我觉着有必要先看看这三个网址,相信我,这对你接下来的学习会很有帮助。

(一)背景知识

(1)Spring Cloud Config简介

这个是Spring Cloud Config官网上面对Config的介绍

       Spring Cloud Config为分布式系统中的外部化配置提供服务器和客户端支持。借助Config Server,您可以在所有环境中管理应用程序的外部属性。客户端和服务器上的概念与Spring EnvironmentPropertySource抽象,因此它们非常适合Spring应用程序,但可以与任何运行在任何语言的应用程序一起使用。随着应用程序从开发到测试转移到部署管道中,您可以管理这些环境之间的配置,并确保应用程序具有在迁移时所需运行的所有内容。服务器存储后端的默认实现使用git,因此它可以轻松支持配置环境的标签版本,并且可以用于管理内容的各种工具。使用Spring配置很容易添加替代实现并将其插入。

(2)Spring Cloud Config特点

  • HTTP,用于外部配置的资源API(名称 - 值对或同等YAML内容)
  • 加密和解密属性值(对称或不对称)
  • 使用可轻松嵌入Spring Boot应用程序 @EnableConfigServer

配置客户端功能(针对Spring应用程序):

  • 绑定到配置服务器并Environment使用远程属性来初始化Spring
  • 加密和解密属性值(对称或不对称)

(二)搭建spring cloud config 服务器端

一、新建一个Maven项目

由于我的项目是在以前的所写的项目的基础上建立的,所以我这里只是新建了一个子module项目。

在父项目上右键选择New Module新建一个Maven子项目。


输入ArtifactId信息


下一步,输入项目名,选择项目存放目录,点击Finish既可创建完成


创建完成


创建完成后,这个时候pom.xml文件里面什么依赖都没有。

二、我们需要添加开启spring cloud config相关的依赖

<?xml version="1.0" encoding="UTF-8"?>
<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">
    <parent>
        <artifactId>spring-cloud-demo</artifactId>
        <groupId>spring-cloud-demo</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>spring-cloud-config-server</artifactId>
    
<!-- 由于下面有spring cloud版本控制,所以在这里不再添加config-server依赖的版本号 -->
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> </dependencies> <!-- 引入spring cloud组件统一版本控制 --> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Camden.SR1</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement></project>

三、依赖添加完成后,创建一个启动类,启动类上需要添加一个注解: @EnableConfigServer
在resources文件里面,新建一个bootstrap.yml文件

bootstrap.yml填写配置信息

server:
  port: 8888
spring:
  application:
    name: spring-cloud-config-server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/hahaxiaowei/config-repo.git
          search-paths: config-repo

Spring Cloud config配置信息讲解

Spring Cloud Config Server从git仓库(必须提供)中为远程客户端提取配置,所以在这里我们需要配置上你的git远程仓库,我的远程仓库放在了github上面了。所以我这边就把远程仓库的github地址写了上去。

search-paths:属性表示搜索,如果你的仓库中有很多子文件,那么为了让config快速搜索到配置信息的存放目录,你就可以指定搜索文件名,因为我这里就一个文件名,所以我在这里写仓库名了。

四、运行启动类。


正常启动了,好了,现在服务器端的搭建已经完成,接下来我们开始搭建客户端,也就是我们怎么从远程读取我们客户端的配置信息。

(三)搭建spring cloud config 客户端

一、新建一个Maven项目:spring-cloud-config-client,作为客户端

创建过程如上,在这里不再赘述

创建好之后,如下图


二、启动类

package com.example;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * Created by sunwei on 2018-03-09 Time:16:15:30
 */
@SpringBootApplication
@EnableDiscoveryClient
public class SpringCloudCofigClientApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringCloudCofigClientApplication.class,args);
        System.out.println("SpringCloudCofigClientApplication begins starts");
    }
}

三、bootstrap.yml

spring:
  cloud:
    config:
      name: spring-cloud-config-client
      profile: dev
      uri: http://10.3.99.29:8888
      label: master

四、属性讲解

HTTP服务具有以下形式的资源:

/ {应用} / {轮廓} [/ {标号}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
上面是官方文档上面讲解

name:就是你在远程仓库的yml文件名

profile:激活的剖面,比如spring.profiles.active = dev

label:git资源的label 默认是master

由于是从远程获取的配置信息,所以我们需要把配置信息放到远程仓库里面,文件名字为:spring-cloud-config-client-dev.yml



创建完成


五、为了测试spring cofig server能不能用,我们运行spring-cloud-config-server项目,然后,我们可以在浏览器器中输入

http://10.3.99.29:8888/spring-cloud-config-client-dev.yml


如果你能看到上图的配置信息,说明服务器端这边是正常的,即使客户端出错你也可以排除是服务器端出错。

六、启动客户端

可以看到启动时,是从服务器端获取的配置信息。


最终启动完成,我们可以看到端口号7777就是我们再远程仓库里面,配置的信息。


好了,到这里客户端的使用也完成了。

具体项目可以查看我的github:  点击打开链接

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值