【Spring Cloud 】进阶之Config配置中心

这篇具有很好参考价值的文章主要介绍了【Spring Cloud 】进阶之Config配置中心。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

config大致的一个思路:

二,前期准备

2.1导入依赖

2.2编写bootstrop.yml:

三,编写Controller类

3.1获取单个配置类信息

3.2获取多个配置类信息


【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

                                  🎉🎉欢迎来到我的CSDN主页!🎉🎉

                        🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚

        🌟推荐给大家我的博客专栏《【SpringCloud】之远程消费(进阶使用)》。🎯🎯

                        🎁如果感觉还不错的话请给我关注加三连吧!🎁🎁
————————————————
版权声明:本文为CSDN博主「平顶山大师」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_73647713/article/details/135429101

今天我们来聊一聊关于Spring Cloud 中的Config知识

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

config大致的一个思路:

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

不同环境不同配置:例如数据源在不同的环境(开发,测试,生产)是不同的,可以通过配置中心 运行期间可以动态调整。例如根据各个微服务的负载状况,动态调整数据源连接池大小或者熔断阀 值,并且调整时不停止微服务(配置修改后可以自动更新)。每个服务都需要必要的配置信息才能运行,所以一套集中式的,动态的配置管理设施是必不可少的。

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

二,前期准备

bootstrap.yml SpringBoot默认支持properties和YAML两种格式的配置文件。 bootstrap.yml(bootstrap.properties)用来程序引导时执行,应用于更加早期配置信息读取,如可以使 用来配置application.yml中使用到参数等 application.yml(application.properties) 应用程序特有配置信息,可以用来配置后续各个模块中需使用 的公共参数等。 bootstrap.yml 先于 application.yml 加载。

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

2.1导入依赖

        <!--配置中心-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <!--配置类-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

这两个依赖项在 Spring Cloud 中用于支持配置中心功能。

  1. spring-cloud-starter-alibaba-nacos-config 是 Alibaba Nacos 提供的一个 Spring Cloud Starter,用于集成 Nacos 作为配置中心。Nacos 是一个可扩展的动态服务发现、配置和管理平台,它提供了统一的配置管理和动态配置刷新的能力。通过添加该依赖项,可以在应用程序中使用 Nacos 作为配置中心,集中管理应用程序的配置信息,并实时更新应用程序的配置。

  2. spring-cloud-starter-bootstrap 是 Spring Cloud 提供的一个 Starter,用于支持在应用程序启动阶段加载 bootstrap.yml 配置文件。bootstrap.yml 是在 application.yml 文件之前加载的,用于初始化应用程序的一些关键配置。通过添加该依赖项,可以确保在应用程序启动时,bootstrap.yml 中的配置项被正确加载和使用。

综合起来,通过引入这两个依赖项,可以使用 Nacos 作为配置中心,将应用程序的配置集中存储、管理和更新,并在应用程序启动时加载 bootstrap.yml 文件,以确保关键配置项的正确初始化。这样可以提高配置管理的灵活性和可扩展性,使得应用程序可以更方便地适应不同环境和需求。

2.2编写bootstrop.yml:

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

server:
  port: 8082
spring:
  application:
    name: provider
  cloud:
    nacos:
      server-addr: localhost:8848
      # username: nacos
      # password: nacos
      config:
        prefix: ${spring.application.name} #前缀
        #指定nacos配置中心地址
        server-addr: localhost:8848
        file-extension: yaml # 使用的 nacos 配置集的 dataId 的文件拓展名,同时也是
  #      Nacos 配置集的配置格式,默认为 properties
  #      namespace: f1896568-xxxx-45d8-8a93-a64c5bcc22ff # 使用的 nacos 的命名空间,
  #      默认为 null
        group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
        # 共享配置集数组
        shared-configs:
          - data-id: redis
            group: DEFAULT_GROUP # 使用的 Nacos 配置分组,默认为 DEFAULT_GROUP
            refresh: true # 是否自动刷新配置,默认为 fals

三,编写Controller类

3.1获取单个配置类信息

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

弊端:这样写开发效率低下,容易写错

3.2获取多个配置类信息

使用spring注入依赖的方式:

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端

package com.lya.provider;

import com.lya.provider.config.UserProperties;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author 微微
 */

@EnableDiscoveryClient
@RestController
@RequestMapping("/user")
@Slf4j

public class ConfigController {

//    使用注解读取到yaml中配置信息
    @Value("${user.name}")
    private String name;
    @Value("${user.info}")
    private String info;

    @Autowired
    private UserProperties userProperties;

    @RequestMapping("/test01")
    public String getbypath() {
        log.info("name:{},info:{}", name,info);
        return "🍗";
    }


    @RequestMapping("/test02")
    public String test02() {
        log.info("userProperties:{}", userProperties);
        return "🍗";
    }

}

启动类上加上

@RefreshScope

【Spring Cloud 】进阶之Config配置中心,spring cloud,spring,后端文章来源地址https://www.toymoban.com/news/detail-798305.html

到了这里,关于【Spring Cloud 】进阶之Config配置中心的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Cloud之Config分布式配置应⽤

    . 右键⽗⼯程【 yx-parent 】选择【 New 】 - 【 Module 】选项,然后选择创建【 Maven 】类型项⽬(不勾选模 板),将项⽬名称设置为【yx-cloud-config 】。   在 yx-cloud-config ⼯程的 pom.xml⽂件中引⼊以下依赖坐标(需要将⾃⼰注册到 Eureka )。 在 com.yx.config 包下创建 ConfigApplication 启

    2024年02月15日
    浏览(50)
  • Spring Cloud集成Nacos实现服务配置中心 | Spring Cloud 7

    先我们来看一下,微服务架构下关于配置文件的一些问题: 配置文件相对分散。在一个微服务架构下,配置文件会随着微服务的增多变的越来越多,而且分散在各个微服务中,不好统一配置和管理。 配置文件无法区分环境,开发环境、测试环境、线上环境。微服务项目可能会

    2024年02月14日
    浏览(56)
  • Spring Cloud【Config客户端配置与测试、Config客户端之动态刷新 、什么是Spring Cloud Bus、Docker安装RabbitMQ】(十)

      目录 分布式配置中心_Config客户端配置与测试 为什么要引入bootstrap 

    2024年02月15日
    浏览(43)
  • Spring Cloud Config配置服务及那些你不知道的坑

    目录 1、为什么选择Spring Cloud Config 1.1 集中式管理 1.2 动态修改配置 2、Spring Cloud Config 简介 3、服务端配置 3.1 添加依赖 3.2 开启服务注册 3.3 添加YML配置 3.4 创建远程分支及Profile配置文件 3.5 启动并测试服务 4、客户端配置 4.1 添加依赖 4.2 开启服务注册 4.3 添加YML配置 4.4 启动并

    2024年02月05日
    浏览(48)
  • Spring Cloud集成Nacos作为配置中心

    Nacos的安装与配置 Spring Cloud集成Nacos作为注册中心 LoadBalacer集成Nacos实现负载均衡 常见的负载均衡策略分析 Spring Cloud集成Dubbo实现RPC调用 前面我们已经介绍了 Nacos 的安装与配置, Spring Cloud 集成 Nacos 作为服务的注册中心,集成 Nacos 实现服务的负载均衡和一些常见的负载均衡

    2024年02月15日
    浏览(57)
  • 微服务 – Spring Cloud – Nacos 配置中心

    Data ID : nacos-config-client-dev.yaml Group: DEV-CLOUD2023

    2024年02月11日
    浏览(64)
  • Spring Cloud Alibaba nacos配置中心

    第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Spring Cloud Netflix 之 Hystrix 第九章 代码管理gitlab 使用 第十章 Spr

    2024年02月08日
    浏览(60)
  • Spring Cloud Alibaba Nacos 构建配置中心

    登录 Nacos 面板,依次点击左侧菜单栏【命名空间→新建命名空间】、填写命名空间名和描述信息,点击【确定】: 依次点击左侧菜单栏【配置管理→配置列表】、切换到指定命名空间【此处为 shop】、点击右侧【+】号: 添加配置 填写【Data ID】要求组内唯一,【Group】组名,

    2024年02月08日
    浏览(60)
  • Spring Cloud Gateway集成Nacos作为注册中心和配置中心

    本篇文章将介绍Spring Cloud Alibaba体系下Spring Cloud Gateway的搭建,服务注册中心和分布式配置中心使用Nacos,后续将会持续更新,介绍集成Sentinel,如何做日志链路追踪,如何做全链路灰度发布设计,以及Spring Cloud Gateway的扩展等。 ​ Spring Boot,Spring Cloud,Discovery,Config等基础依

    2024年02月11日
    浏览(113)
  • Spring Cloud开发实践(七): 集成Consul配置中心

    Spring Cloud开发实践(一): 简介和根模块 Spring Cloud开发实践(二): Eureka服务和接口定义 Spring Cloud开发实践(三): 接口实现和下游调用 Spring Cloud开发实践(四): Docker部署 Spring Cloud开发实践(五): Consul - 服务注册的另一个选择 Spring Cloud开发实践(六): 基于Consul和Spring Cloud 2021.0的演示项目

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包