springboot+nacos 简单实现配置中心

环境:

nacos-service:  1.4.5

java:  1.8

spring-boot:  2.3.12.RELEASE

nacos-config:  2.2.3.RELEASE

步骤:

1. 在github上下载nacos-service 找到对应兼容的版本

解压后创建nacos数据库 执行该sql

2.编辑D:\nacos\nacos\binD:\nacos\nacos\bin中startup.cmd文件

将运行模式改为 standalone

3.进入idea创建springboot项目

进入pom文件添加这两个依赖

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

4.将application文件改为bootstrap.yml

内容如下

spring:
  application:
    name: nacos-demo
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        namespace: 9cda3c26-2648-47ec-8dbd-067fd60cb119
        file-extension: yaml

这个地方是大部分情况下配置失败的地方 着重记一下

首先不是什么东西都要加 也不是什么东西都不加

简单来讲 我们填哪些信息可以让naocs找到我们指定的文件 以及文件中的数据呢?

进入nacos管理页面

这里创建了一个命名空间 test 

所以如果我们要获取test里的东西 namespace是一定要的 加上注册地址

目前有两个关键信息必填(通过注册中心地址找到命名空间

 

但是到这里nacos只知道到哪个注册中心的哪个空间里找 还不知道哪个文件

直接这样启动肯定会报那个烦人的 找不到异常

表达式指定了找文件里的哪个字段数据

所以接下来要指定文件名称 也就是 DataId

注意这里的DataId 不包括后缀

那怎么告诉nacos我们要找哪个文件?

是的 它通过项目名称来找文件 再加上指定的文件类型 yaml

${spring.application.name}(nacos-demo).${spring.cloud.nacos.config.file-extension}(yaml)

nacos-demo.yaml

这样信息齐全 自然就找到了我们需要的数据

通过server-addr找到注册中心 找到注册中心后通过namespace找到命名空间 找到命名空间后通过项目名称+文件类型找到文件 找到文件后通过表达式调用对应字段的数据

 

posted @ 2023-03-28 21:28  暗影霹雳神  阅读(85)  评论(0编辑  收藏  举报