长沙机械网站建设,山西建设投资集团有限公司,wordpress增加下载文件,企业邮箱 腾讯目录
config大致的一个思路#xff1a;
二#xff0c;前期准备
2.1导入依赖
2.2编写bootstrop.yml#xff1a;
三#xff0c;编写Controller类
3.1获取单个配置类信息
3.2获取多个配置类信息 #x1f389;#x1f389;欢迎来到我的CSDN主页#xff01;#x1f3…目录
config大致的一个思路
二前期准备
2.1导入依赖
2.2编写bootstrop.yml
三编写Controller类
3.1获取单个配置类信息
3.2获取多个配置类信息 欢迎来到我的CSDN主页 我是平顶山大师一个在CSDN分享笔记的博主。 推荐给大家我的博客专栏《【SpringCloud】之远程消费进阶使用》。 如果感觉还不错的话请给我关注加三连吧 ———————————————— 版权声明本文为CSDN博主「平顶山大师」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。 原文链接https://blog.csdn.net/m0_73647713/article/details/135429101 今天我们来聊一聊关于Spring Cloud 中的Config知识 config大致的一个思路 不同环境不同配置例如数据源在不同的环境开发,测试,生产是不同的,可以通过配置中心 运行期间可以动态调整。例如根据各个微服务的负载状况,动态调整数据源连接池大小或者熔断阀 值,并且调整时不停止微服务配置修改后可以自动更新。每个服务都需要必要的配置信息才能运行,所以一套集中式的,动态的配置管理设施是必不可少的。 二前期准备 bootstrap.yml SpringBoot默认支持properties和YAML两种格式的配置文件。 bootstrap.ymlbootstrap.properties用来程序引导时执行,应用于更加早期配置信息读取,如可以使 用来配置application.yml中使用到参数等 application.ymlapplication.properties) 应用程序特有配置信息,可以用来配置后续各个模块中需使用 的公共参数等。 bootstrap.yml 先于 application.yml 加载。 2.1导入依赖 !--配置中心--dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependency!--配置类--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId/dependency 这两个依赖项在 Spring Cloud 中用于支持配置中心功能。 spring-cloud-starter-alibaba-nacos-config 是 Alibaba Nacos 提供的一个 Spring Cloud Starter用于集成 Nacos 作为配置中心。Nacos 是一个可扩展的动态服务发现、配置和管理平台它提供了统一的配置管理和动态配置刷新的能力。通过添加该依赖项可以在应用程序中使用 Nacos 作为配置中心集中管理应用程序的配置信息并实时更新应用程序的配置。 spring-cloud-starter-bootstrap 是 Spring Cloud 提供的一个 Starter用于支持在应用程序启动阶段加载 bootstrap.yml 配置文件。bootstrap.yml 是在 application.yml 文件之前加载的用于初始化应用程序的一些关键配置。通过添加该依赖项可以确保在应用程序启动时bootstrap.yml 中的配置项被正确加载和使用。 综合起来通过引入这两个依赖项可以使用 Nacos 作为配置中心将应用程序的配置集中存储、管理和更新并在应用程序启动时加载 bootstrap.yml 文件以确保关键配置项的正确初始化。这样可以提高配置管理的灵活性和可扩展性使得应用程序可以更方便地适应不同环境和需求。 2.2编写bootstrop.yml server:port: 8082
spring:application:name: providercloud:nacos:server-addr: localhost:8848# username: nacos# password: nacosconfig:prefix: ${spring.application.name} #前缀#指定nacos配置中心地址server-addr: localhost:8848file-extension: yaml # 使用的 nacos 配置集的 dataId 的文件拓展名同时也是# Nacos 配置集的配置格式默认为 properties# namespace: f1896568-xxxx-45d8-8a93-a64c5bcc22ff # 使用的 nacos 的命名空间# 默认为 nullgroup: DEFAULT_GROUP # 使用的 Nacos 配置分组默认为 DEFAULT_GROUP# 共享配置集数组shared-configs:- data-id: redisgroup: DEFAULT_GROUP # 使用的 Nacos 配置分组默认为 DEFAULT_GROUPrefresh: true # 是否自动刷新配置默认为 fals 三编写Controller类
3.1获取单个配置类信息 弊端这样写开发效率低下容易写错 3.2获取多个配置类信息
使用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)
Slf4jpublic class ConfigController {// 使用注解读取到yaml中配置信息Value(${user.name})private String name;Value(${user.info})private String info;Autowiredprivate 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