Spring-cloud Config Server的3种配置方式


Posted in Java/Android onSeptember 25, 2021

Spring-cloud Config Server的3种配置

Spring-cloud Config Server 有多种种配置方式,今天我就在此介绍一下Git,local,svn三种配置方式,不过官方文档还是建议使用Git这种方式进行配置开发。

好的,现在开始!!!!!!!

1.config 默认Git加载

通过spring.cloud.config.server.git.uri指定配置信息存储的git地址,比如:https://github.com/xxx/config-repo

2.加载本地开发环境

spring.profiles.active=native
spring.cloud.config.server.native.searchLocations=classpath:/config

3.加载 本地物理环境

spring.profiles.active=native
spring.cloud.config.server.native.searchLocations= file:E:\\Java\\config

4.加载svn环境

http://localhost:8080/{application}/{profile}/{label},比如:http://localhost:8080/dmeo/development/trunk

### config server svn
spring.cloud.config.server.svn.uri=http://localhost:8080/dmeo/development/trunk
spring.cloud.config.server.svn.username=xxx
spring.cloud.config.server.svn.password=xxx
spring.profiles.active=subversion

PS: svn 环境 需要 引入 SVN jar包

<groupId>org.tmatesoft.svnkit</groupId>
<artifactId>svnkit</artifactId>

springcloud统一配置中心(config server 端)

1.为什么要使用统一配置中心?

1.配置不方便维护

2.配置内容的安全性和权限

3.更新配置项目需要重启

2.登陆github 创建一个用于存放配置的项目

Spring-cloud Config Server的3种配置方式

Spring-cloud Config Server的3种配置方式

3.存放配置的项目的git地址 配置到项目的yml中

Spring-cloud Config Server的3种配置方式 

4.项目中的配置(Spring Cloud Config server 端)

该项目即是eureka的客户端 又是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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.zhu</groupId>
    <artifactId>config</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>config</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <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>
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
    <repositories>
        <repository>
            <id>spring-milestones</id>
            <name>Spring Milestones</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
    </repositories>
</project>

yml配置

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8085/eureka/
server:
  port: 8090
spring:
  application:
    name: config
  cloud:
    config:
      server:
        git:
          uri: git@github.com:zhujin888/config-repo.git //git地址
          username: git的账号
          password: git的密码

主类:

package com.zhu.config;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.config.server.EnableConfigServer;
@SpringBootApplication
@EnableDiscoveryClient
@EnableConfigServer
public class ConfigApplication {
    public static void main(String[] args) {
        SpringApplication.run(ConfigApplication.class, args);
    }
}

5.再git上创建文件夹 用来存放配置信息

Spring-cloud Config Server的3种配置方式

一般存三份

  • dev:开发
  • test:测试
  • pro:生产

Spring-cloud Config Server的3种配置方式

6.访问config server

两种方式: 随便用哪一种

Spring-cloud Config Server的3种配置方式

7.把远端的git拉到本地的git来

配置本地 git路径

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8085/eureka/
server:
  port: 8090
spring:
  application:
    name: config
  cloud:
    config:
      server:
        git:
          uri: git@github.com:zhujin888/config-repo.git
          username: 
          password:
          basedir: D:\My_Java\anli\gitconfig\basedir  //配置本地git路径 把拉下来的配置文件存在这

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Java/Android 相关文章推荐
spring项目中切面及AOP的使用方法
Jun 26 Java/Android
Java基础之线程锁相关知识总结
Jun 30 Java/Android
解决SpringBoot文件上传临时目录找不到的问题
Jul 01 Java/Android
看完这篇文章获得一些java if优化技巧
Jul 15 Java/Android
浅谈spring boot使用thymeleaf版本的问题
Aug 04 Java/Android
解析mybatis-plus中的resultMap简单使用
Nov 23 Java/Android
Java实现给Word文件添加文字水印
Feb 15 Java/Android
剑指Offer之Java算法习题精讲二叉树的构造和遍历
Mar 21 Java/Android
Java GUI编程菜单组件实例详解
Apr 07 Java/Android
MyBatis XPathParser解析器使用范例详解
Jul 15 Java/Android
前端与RabbitMQ实时消息推送未读消息小红点实现示例
Jul 23 Java/Android
java实现web实时消息推送的七种方案
Jul 23 Java/Android
MyBatis-Plus 批量插入数据的操作方法
Sep 25 #Java/Android
spring cloud 配置中心native配置方式
Sep 25 #Java/Android
spring cloud 配置中心客户端启动遇到的问题
Sep 25 #Java/Android
SpringBoot+Vue+JWT的前后端分离登录认证详细步骤
Sep 25 #Java/Android
java如何实现socket连接方法封装
Sep 25 #Java/Android
IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署
Java数据开发辅助工具Docker与普通程序使用方法
Sep 15 #Java/Android
You might like
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
PHP rawurlencode与urlencode函数的深入分析
2013/06/08 PHP
学习php设计模式 php实现建造者模式
2015/12/07 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
PHP的全局错误处理详解
2016/04/25 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
PHP 99乘法表的几种实现代码
2020/10/13 PHP
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
jQuery点击改变class并toggle及toggleClass()方法定义用法
2015/12/11 Javascript
很棒的Bootstrap选项卡切换效果
2016/07/01 Javascript
Angular.JS去掉访问路径URL中的#号详解
2017/03/30 Javascript
微信小程序 setData的使用方法详解
2017/04/20 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
js生成1到100的随机数最简单的实现方法
2020/02/07 Javascript
[01:00:52]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第一场
2018/04/05 DOTA
Python运算符重载详解及实例代码
2017/03/07 Python
python数据批量写入ScrolledText的优化方法
2018/10/11 Python
Python数学形态学实例分析
2019/09/06 Python
PyQt5多线程刷新界面防假死示例
2019/12/13 Python
sublime3之内网安装python插件Anaconda的流程
2020/11/10 Python
python3.8.3安装教程及环境配置的详细教程(64-bit)
2020/11/28 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
英语教研活动总结
2014/07/02 职场文书
市场部经理岗位职责
2015/02/02 职场文书
2015年财务经理工作总结
2015/05/13 职场文书
2015年计算机教师工作总结
2015/07/22 职场文书
大学生村官工作心得体会
2016/01/23 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
利用Python第三方库实现预测NBA比赛结果
2021/06/21 Python
springboot+zookeeper实现分布式锁
2022/03/21 Java/Android