• Spring Cloud 之 全局配置


      在微服务架构中,全局配置的重要性不言而喻。SpringCloud的全局配置存储主要基于 Git 来实现,即配置信息存储在Git服务器,以统一的方式对外提供访问。在使用上分为 ConfigServer和ConfigClient这两个角色。 

      一. ConfigServer的应用,这也是一个基于SpringBoot和web应用。启动后做为配置服务器对外提供访问。

             1. application.properties文件配置

             

    server.port=8888
    spring.cloud.config.server.git.uri=https://gitee.com/xxxx/config-repo
    spring.cloud.config.server.git.username={帐号}
    spring.cloud.config.server.git.password={密码}

           2 .pom文件主要内容

    <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-config-server</artifactId>
            </dependency>
        </dependencies>

          3. 启动类

    @SpringBootApplication
    @EnableConfigServer
    public class App 
    {
        public static void main( String[] args )
        {
            SpringApplication.run(App.class, args) ;
        }
    }

         二. ConfigClient 即配置应用端 , 一般就是具体的要用到全局配置信息的项目

           1. bootstrap.yml文件,由于配置统一放在git服务器上,所以各个应用就无需使用 application.yml 或者 application.properties文件

    spring:
     application:
      name: mockservices
     cloud:
      config:
       uri: http://127.0.0.1:8888
       label: branch1     // 表示具体应用配置仓库中哪个分支

         configClient客户端应用会应用到配置仓库中哪些配置文件由bootstrap.yml文件中的3个配置项决定:

    •  spring.application.name   它的value决定加载除 application.properties 或  application.yml 之外的配置文件名
    •  spring.cloud.config.label  决定具体应用配置仓库中哪个分支
    •  spring.profiles.active  决定加载哪些profile对应的配置

            2.  应用配置的代码

    @RunWith(SpringRunner.class)
    @SpringBootTest(classes = MockApp.class)
    public class ConfigTest {
        
        @Value("${name}")
        private String name ;
        
        @Test
        public void test() {
            System.out.println(name);
        }
    
    } 

         3. pom 文件的必要配置

     <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>
    
      <dependencies>
        <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
            </dependency>
            
            
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-config</artifactId>
            </dependency>
            
      </dependencies>

        

        

  • 相关阅读:
    linux下进程的实际用户ID(有效组)和有效用户ID(有效组ID)
    ubuntu下软件中心闪退问题解决
    LINUX(UNIX)文件I/O学习
    ubunut下桌面文件路径修改
    ubuntu下设置jdk/jre环境
    Fire net
    JavaScript 自己写一个 replaceAll() 函数
    Canvas 绘制一个像素风电子时钟
    Python3 笔记01:求两数之和
    尝试笔记 01 之 CSS 边角上的标签
  • 原文地址:https://www.cnblogs.com/hzhuxin/p/11015107.html
Copyright © 2020-2023  润新知