使用Nacos Config作为配置中心配置以及一些容易犯的坑

官方文档:https://nacos.io/zh-cn/docs/quick-start.html

nacos的安装部署,需要先配置好jdk跟maven的环境,运行非常简单,直接官网下载运行即可,按照你的系统选择下载的版本,需要注意的是,必须要选择好你所使用的模式,不同的模式有不同的运行配置要求,下载下来一定要注意配置文件,比较简单的方式就是使用docker+nacos,这样不需要去配置jdk和maven,后面有空会再写一篇关于nacos的安装部署。

 1、在你的微服务项目中引入依赖

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

注意:nacos config 和 nacos discover,这两个一个是配置中心,一个是注册中心,一般是与微服务搭配,如springcloud或springcloud alibaba(dubbo),这两个使用的前提都是先得把nacos运行起来。

2、在Nacos上添加你的配置文件

默认nacos访问地址http://localhost:8848/nacos/,默认账号是nacos,默认密码nacos

Data ID:        nacos-config-develop.yaml

Group  :        DEFAULT_GROUP

配置格式:        YAML

配置内容:        你的项目配置,比如数据库配置端口配置等,就等基本同于项目的yml配置文件内容

 

同时在你的项目里创建 bootstrap.yml替代原来的作为配置文件(非常重要),配置文件执行顺序 bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml

bootstrap.yml内容如下

spring:
  application:
    name: nacos-config
  cloud:
    nacos:
      config:
        server-addr: localhost:8848 # nacos的服务端地址
        file-extension: yaml # 配置文件格式
  profiles:
    active: develop

spring.application.name 对应的是Data ID nacos-config

spring.profiles.active 对应的是Data ID deveop ,他们之间会自动用-隔开。

spring.cloud.nacos.config.file-extension 对应的是配置格式 yaml,可以自己选配置文件的格式,但必须要对应上。

spring.cloud.nacos.config.server-addr 是你nacos的服务端地址,必须是ip+端口,默认端口80也不能省略

配置好后运行程序,他就会自动通过nacos的地址去获取所需要的配置文件内容

nacos config 是支持动态更新的,也就是说直接修改nacos上的内容就可以动态更新你的配置内容

3、获取nacos配置中心的内容的值

nacos: 123456

nacos上的配置文件内容如上,有两种获取方式:

1、通过上下文获取

@RestController
public class NacosConfigController {

    @Autowired
    private ConfigurableApplicationContext applicationContext;
    	
    
    @GetMapping("/nacos-config")
    public 	String nacosConfig() {
     return applicationContext.getEnvironment().getProperty("nacos");
    }
}

2、注解方式获取

@RestController
@RefreshScope
public class NacosConfigController {

    @Value("${nacos}")
    public String appNacos;
    	
    
    @GetMapping("/nacos-config")
    public 	String nacosConfig() {
    	
     return  appNacos;
    }
}

4、一些注意事项和官方的坑

1、配置文件内容一定要写全,一般都是复制粘贴上去,往往很多时候就是没写全却又以为自己写全了,找半天没找到运行报错的原因。

2、文件的编码格式问题,导致中文注释的使用会报错,这个在Linux系统下不会有问题,但在window系统下,部署的nacos的配置文件使用中文注释就会有问题,推荐不使用中文注释。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用Nacos作为配置中心的步骤如下: 1. 引入Nacos Config的依赖。在你的项目中的pom.xml文件中添加以下依赖: ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> ``` 2. 添加bootstrap配置文件。在你的项目中创建一个名为bootstrap.properties或bootstrap.yaml的配置文件,并在其中配置Nacos Server的地址和其他相关配置,例如: ```properties spring.cloud.nacos.server-addr=192.168.xxx.xxx:8848 spring.cloud.nacos.username=nacos spring.cloud.nacos.password=nacos spring.cloud.nacos.config.namespace=b4d0832b-a7b0-44c2-8ce5-1abe676a4736 ``` 这些配置将用于连接Nacos Server和指定命名空间。 3. 在你的应用程序中使用Nacos配置。你可以在应用程序中使用`@Value`注解或`@ConfigurationProperties`注解来获取Nacos配置的值。例如,在app-user服务中,你可以使用以下方式获取Nacos配置: ```java @Value("${your.config.key}") private String yourConfigValue; ``` 或者 ```java @ConfigurationProperties(prefix = "your.config") public class YourConfigProperties { private String key; // getter and setter } ``` 然后在需要使用配置的地方使用`yourConfigValue`或`yourConfigProperties.getKey()`。 这样,你就可以使用Nacos作为配置中心来管理和获取配置了。 #### 引用[.reference_title] - *1* [使用Nacos作为配置中心](https://blog.csdn.net/weixin_66202611/article/details/128089370)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Nacos配置中心使用](https://blog.csdn.net/qq_42402854/article/details/126375127)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值