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>

优质内容筛选与推荐>>
1、SpringMVC:整合JQUERY与JSON
2、Price and consumption of iron ore in the world
3、node 域名
4、大纲 2.4 综合布线和局域网组网
5、[译]Javascript中的for循环


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn