SpringCloudAlibaba(四)——配置中心及自动刷新

配置中心及自动刷新

配置中心configclient开发

nacos作为统一配置中心:
1.它管理的配置文件方式是在自己所在的服务器上形成一个版本库,因此不需要再创建远程版本库
2.nacos作为统一配置中心管理配置文件时,同样也存在版本控制

1、创建一个config客户端子模块springcloudAlibaba-config-client-8888

image

2、导入相关依赖

    <dependencies>
        <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-discovery</artifactId>
        </dependency>
        <!--nacos config client-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>

3、编写主启动类

package com.study.springcloud;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class ConfigClientApplication_8888 {
    public static void main(String[] args) {
        SpringApplication.run(ConfigClientApplication_8888.class,args);
    }
}

4、进入nacos管理页面添加配置文件

  • 1.新建命名空间
    image

  • 2.输入命名空间信息
    image

  • 3.点击 配置管理,再点击 配置列表
    image

  • 4.选择study命名空间
    image

  • 5.点击+按钮
    image

  • 6.编辑配置文件
    image

  • 7.编辑完成点 发布
    image

5、编写bootstrap.properties配置文件,拉取远端配置

#告诉config server地址
spring.cloud.nacos.server-addr=localhost:8848
#告诉从哪个命名空间获取配置
spring.cloud.nacos.config.namespace=f15dc566-c615-4dbe-88f9-0c812ea6e2f6
#告诉从哪个组进行配置获取
spring.cloud.nacos.config.group=DEFAULT_GROUP

#第一种拉取远端配置文件方式
#从哪个组拉取哪个配置文件
spring.cloud.nacos.config.name=configclient-dev
#拉取这个名字的哪个后缀文件
spring.cloud.nacos.config.file-extension=properties

#第一种拉取远端配置文件方式
#spring.cloud.nacos.config.prefix=configclient
#spring.profiles.active=dev
#spring.cloud.nacos.config.file-extension=properties

6、编写controller层

package com.study.springcloud.controller;

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

@RestController
public class DemoController {

    @Value("${constomer.username}")
    private String username;

    @GetMapping("/demo")
    public String demo(){
        return "demo ok!!!"+username;
    }
}

7、启动测试

image

配置自动刷新

1、在controller层添加@RefreshScope实现自动刷新

image

2、修改远端配置文件

image

3、重新访问

image

posted @ 2021-07-16 21:09  转身刹那的潇洒  阅读(2026)  评论(0编辑  收藏  举报