栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Consul教程】3.SpringBoot整合Consul搭建配置中心

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Consul教程】3.SpringBoot整合Consul搭建配置中心

前言

上篇讲到了SpringBoot和Consul搭建服务注册与发现,这篇主要描述SpringBoot整合Consul搭建配置中心。

整合

consul的注册中心是安装的服务器上,只需要搭建注册客户端就行了。

pom.xml

	
        org.springframework.boot
        spring-boot-starter-parent
        2.4.2
    
	
        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            org.springframework.boot
            spring-boot-starter-test
        
        
            org.projectlombok
            lombok
        
        
        
            org.springframework.cloud
            spring-cloud-starter-consul-discovery
        
        
        
            org.springframework.cloud
            spring-cloud-starter-consul-config
        
    
    
        
            
            
                org.springframework.cloud
                spring-cloud-dependencies
                Greenwich.SR3
                pom
                import
            
        
    

启动类App.java

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


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

配置文件创建boostrap.yml,而不是application.yml, 因为bootstrap.yml加载优先级比application.yml高。

spring:
  application:
    name: consul-config
  cloud:
    consul:
      host: 192.168.126.156
      port: 8500
      # consul 服务注册
      discovery:
        # 服务名称
        service-name: ${spring.application.name}
        heartbeat:
          enabled: true
      # consul 配置中心
      config:
        format: yaml
        enabled: true
        # 配置前缀
        prefix: /
        # 默认位置
        default-context: /
        # key
        data-key: data
# 自定义属性
name: terry

@RefreshScope可以动态刷新配置,稍后可以演示看看

@RestController
// 动态刷新配置
@RefreshScope
public class UserService {

     @Value("${name}")
    private String name;

    @GetMapping("getUser")
    public String getUser(){
        return name;
    }
}

启动项目

测试

此时访问服务效果

在不重启服务的情况下更改配置

访问Consul管理页:http://192.168.126.156:8500/。

创建key:data,Value:name: terry123,如下:

此时访问成功

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/915333.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号