spring-cloud-alibaba学习实例(2)–集成nacos-config

  • Post author:
  • Post category:其他


spring-cloud-alibaba学习实例(2)–集成nacos-config

这一小节主要讲解,使用nacos作为配置中心使用

新建一个子模块demo-nacos-config

在这里插入图片描述

引入jar依赖

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

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

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

spring-cloud-starter-alibaba-nacos-config是新加入的依赖包

2 新建bootstrap.yml 配置文件

spring:
  application:
    name: nacos-config
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
      config:
        # 如果是 .properties文件 不需要这个配置
        file-extension: yaml
server:
  port: 8082

3新建测试controller

@RestController
@RequestMapping("/config")
@RefreshScope
public class ConfigController {

    @Value("${useLocalCache:null}")
    private String useLocalCache;

    @RequestMapping("/get")
    public String get() {
        return useLocalCache;
    }
}

@RefreshScope nacos配置的数据发生改变,这个注解就能跟着动态刷新

@Value(“${useLocalCache:null}”) 获取nacos中存储的数据,冒号后面的是默认值,当获取不到值的时候,就会赋予默认值

4新建启动类

@SpringBootApplication
public class ConfigApplication {
    public static void main(String[] args) {

        SpringApplication.run(ConfigApplication.class,args);
    }
}

5启动项目

在这里插入图片描述

可以看到,项目开始监听nacos中dataid的值

那项目怎么知道dataid呢,这里有个默认的规则

nacos-config 在加载配置的时候,不仅仅加载了以 dataid 为



s

p

r

i

n

g

.

a

p

p

l

i

c

a

t

i

o

n

.

n

a

m

e

.

{spring.application.name}.







s


p


r


i


n


g


.


a


p


p


l


i


c


a


t


i


o


n


.


n


a


m


e



.





{file-extension:properties} 为前缀的基础配置,还加载了 dataid 为



s

p

r

i

n

g

.

a

p

p

l

i

c

a

t

i

o

n

.

n

a

m

e

{spring.application.name}-







s


p


r


i


n


g


.


a


p


p


l


i


c


a


t


i


o


n


.


n


a


m


e









{profile}.${file-extension:properties} 的基础配置。

在日常开发中如果遇到多套环境下的不同配置,可以通过 Spring 提供的 ${spring.profiles.active} 这个配置项来配置。

比如我们的spring.application.name是nacos-config,profile为null,file-extension:properties为yaml 按照规则dataid就是nacos-config.yaml,由于没有设置grop 所以group为默认的DEFAULT_GROUP

在这里插入图片描述

nacos-config 在加载配置的时候,不仅仅加载了以 dataid 为



s

p

r

i

n

g

.

a

p

p

l

i

c

a

t

i

o

n

.

n

a

m

e

.

{spring.application.name}.







s


p


r


i


n


g


.


a


p


p


l


i


c


a


t


i


o


n


.


n


a


m


e



.





{file-extension:properties} 为前缀的基础配置,还加载了 dataid 为



s

p

r

i

n

g

.

a

p

p

l

i

c

a

t

i

o

n

.

n

a

m

e

{spring.application.name}-







s


p


r


i


n


g


.


a


p


p


l


i


c


a


t


i


o


n


.


n


a


m


e









{profile}.${file-extension:properties} 的基础配置。在日常开发中如果遇到多套环境下的不同配置,可以通过 Spring 提供的 ${spring.profiles.active} 这个配置项来配置。

6,先测试下,没有配置nacos信息时候

在这里插入图片描述

在这里插入图片描述

7打开naocos-server,控制台,配置dataid

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这样就可读到,nacos配置的信息了。

8测试nacos配置改变,实时刷新效果

在这里插入图片描述

在这里插入图片描述

9针对spring.profiles.active 这个属性 比如spring.profiles.active=develop

在这里插入图片描述

那么对应nacos的dataid就变成了nacos-config-develop

在这里插入图片描述

项目启动,就会监听dataid 为nacos-config-develop 的配置信息

nacos新建一个dataid 配置

在这里插入图片描述

在这里插入图片描述

github项目地址https://github.com/userliyazhou/spirng-cloud-alibaba-project-demo/tree/master/alibaba-project-parent/demo-nacos-config

在这里插入图片描述



版权声明:本文为qq_15332967原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。