SpringCloud-SpringBoot读取Nacos上的配置文件

这篇具有很好参考价值的文章主要介绍了SpringCloud-SpringBoot读取Nacos上的配置文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在 Spring Boot 应用程序中,可以使用 Spring Cloud Nacos 来实现从 Nacos 服务注册中心和配置中心读取配置信息。以下是如何在 Spring Boot 中读取 Nacos 上的配置文件的步骤:

1. 引入依赖

首先,在 Spring Boot 项目的 pom.xml 文件中添加 Spring Cloud Nacos 的依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

2. 配置 Nacos 连接信息

将 Nacos 服务注册中心和配置中心的地址、命名空间等相关信息添加到 application.properties 或 application.yml 配置文件中:

spring.cloud.nacos.config.server-addr=localhost:8848
spring.cloud.nacos.config.namespace=
3. 编写配置文件

在 Nacos 配置中心创建配置文件(例如 ​application.properties​),并添加一些键值对,如:

user.name=John Doe
user.age=30

4. 读取配置信息

在 Spring Boot 的任何配置类或组件类中,可以使用 ​@Value​ 注解或 ​@ConfigurationProperties​ 注解来读取配置项:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class ConfigController {

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

    @Value("${user.age}")
    private int userAge;

    @GetMapping("/userInfo")
    public String getUserInfo() {
        return "User Name: " + userName + ", Age: " + userAge;
    }
}

5. 刷新配置

如果想要在配置发生变化时动态刷新配置,可以在需要动态更新的 Bean 类上添加 ​@RefreshScope​ 注解:

import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

@Component
@RefreshScope
public class MyConfigBean {

    @Value("${my.config}")
    private String myConfig;

    // Getter and Setter
}

当配置发生变化后,可以通过访问 Actuator 端点 ​/actuator/refresh​ 来触发配置的刷新,以便及时获取最新的配置信息。

如果nacos上面有很多个配置文件,springboot中如何获取想要的配置文件?

1.在 Nacos 配置中心创建多个配置文件,例如 ​user.properties​ 和 ​database.properties​,并添加相应的键值对。

2.在 Spring Boot 项目的 ​application.properties​ 或 ​application.yml​ 中,指定需要获取的配置文件的 Data ID:

spring.cloud.nacos.config.shared-configs[0].data-id=user.properties
spring.cloud.nacos.config.shared-configs[1].data-id=database.properties

3.可以通过 ​@ConfigurationProperties​ 注解来读取指定的配置文件内容,例如:

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

@Component
@ConfigurationProperties("user")
public class UserConfig {

    private String userName;
    private int age;

    // Getters and Setters
}

@Component
@ConfigurationProperties("database")
public class DatabaseConfig {

    private String url;
    private String username;
    
    // Getters and Setters
}

在上面的示例中,​@ConfigurationProperties​ 注解中的 value 值指定了要绑定的配置文件的前缀,可以直接读取到该配置文件中的相关属性值。

注意: 在使用 ​@ConfigurationProperties​ 注解时,需要确保属性名与配置文件中的键名一致,Spring Boot 会自动根据前缀匹配来绑定配置项。

4.多文件配置和自动刷新也可参考如下配置:

springboot读取nacos配置,SpringBoot,spring boot,spring cloud,java文章来源地址https://www.toymoban.com/news/detail-854049.html

到了这里,关于SpringCloud-SpringBoot读取Nacos上的配置文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【业务功能篇96】微服务-springcloud-springboot-认证服务-登录注册功能-Auth2.0-分布式session

      通过最基础的登录操作来完成登录处理 登录页面处理 认证服务的处理 会员中心的认证逻辑 service中的具体认证处理   OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商

    2024年02月09日
    浏览(39)
  • Nacos使用(下):SpringBoot和SpringCloud项目中使用Nacos

    Nacos使用(上):Nacos安装 Nacos使用(中):Java项目和Spring项目使用Nacos Nacos使用(下):SpringBoot和SpringCloud项目中使用Nacos 父工程指定springboot版本: 导入jar包 配置文件application.properties 启动类 Nacos上创建一个配置文件 属性可以直接通过@NacosValue读取,也可以映射到一个配置类中 配置

    2024年02月10日
    浏览(25)
  • springcloud/springboot集成NACOS 做注册和配置中心以及nacos源码分析

    Spring Cloud 是一系列框架的有序集合如服务发现注册、配置中心、消息总线、负载均衡、熔断器、数据监控等。 SpringCloud 将多个服务框架组合起来,通过Spring Boot进行再封装,屏蔽掉了复杂的配置和实现原理,最终给开发者提供了一套简单易懂、易部署和易维护的分布式系统开

    2024年02月08日
    浏览(46)
  • SpringCloud读取Nacos配置中心报错:Could not resolve placeholder ‘xxx’ in value ‘${xxx}

    hello,我是灰小猿,一个超会写bug的程序员! 近期在写一个spring cloud Alibaba读取Nacos配置中心远程配置文件的内容时,出现了几个比较坑的bug,在此记录一下,帮大家避避坑。 我的使用场景: SpringBoot版本为2.6.0 Spring Cloud版本为2021.0.1 Spring Cloud Alibaba版本为2021.0.1.0 如果你的C

    2024年02月05日
    浏览(51)
  • 微服务(SpringBoot、SpringCloud、SpringCloud Alibaba、Nacos、JDK)之间的版本对应依赖关系(附Nacos高速下载地址)

    前言 本文主要整理与介绍在搭建微服务项目时,核心组件之间的版本对应关系,避免版本依赖冲突带来的一系列问题,同时也方便后续升级与查看。 这里先放上我目前搭建的较新的微服务脚手架版本,如下(springboot3.0开始不支持jdk8) Spring Boot Spring Cloud Spring Cloud Alibaba Noc

    2024年02月04日
    浏览(33)
  • springBoot配置文件账号密码加密存储(springCloud nacos)

            最近公司有要求,项目中的配置文件不允许明文存储,全部要改为密文,收集了一些资料,在这里做下记录总结。 在Application启动主类中加入启动注解 @EnableEncryptableProperties 注:加密因子password配置在配置文件中也会涉及到安全问题,更安全的做法是:将其作为系

    2024年02月16日
    浏览(19)
  • springboot读取多文件配置(包括nacos)

    首先来简单了解一下这个类。 ResourceBundle类主要是用来 解决国际化和本地化问题 ,就我的理解,就是类似于前端界面的字体显示,国际化操作一般都要支持多国语言,那么这个ResourceBundle类就能够简单快速的解决这个问题。 同时,这个类只能支持读取properties属性文件,和

    2023年04月09日
    浏览(30)
  • 黑马头条 SpringBoot+SpringCloud+ Nacos等企业级微服务架构项目

    各位爷,完整项目gitee如下,求star heima-leadnews-master: 《黑马头条》项目采用的是SpringBoot+springcloud当下最流行的微服务为项目架构,配合spring cloud alibaba nacos作为项目的注册和配置中心。新课程采用快速开发的模式,主要解决真实企业开发的一些应用场景。详情请看博客:htt

    2024年02月08日
    浏览(43)
  • 《黑马头条》SpringBoot+SpringCloud+ Nacos等企业级微服务架构项目

    各位爷,完整项目gitee如下,求star heima-leadnews-master: 《黑马头条》项目采用的是SpringBoot+springcloud当下最流行的微服务为项目架构,配合spring cloud alibaba nacos作为项目的注册和配置中心。新课程采用快速开发的模式,主要解决真实企业开发的一些应用场景。详情请看博客:htt

    2024年02月15日
    浏览(34)
  • 记录开发环境docker上的一次springboot无法读取更新的配置文件的问题

    背景:一般开发环境的管理不是很严格,当对代码进行一些组件的添加时,往往需要修改spring的配置文件,有的时候为了保险起见,回预先备份原本的配置文件,我采取在./config中创建了一个名为bak-日期的目录,将原本的配置文件mv到该目录下,将新的配置文件移到config目录

    2024年02月11日
    浏览(35)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包