MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

Spring Cloud实战 | 第三篇:Spring Cloud整合Nacos实现配置中心

2025-05-23 17:39 huorong 精选文章 7 ℃ 0 评论

Spring Cloud实战 | 第三篇:Spring Cloud整合Nacos实现配置中心

1.ljf-auth添加nacos-config依赖

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

2.项目配置文件bootstrap.yml指定nacos配置文件名

spring:
  application:
    name: ljf-auth
  cloud:
    nacos:
      discovery:
        server-addr: http://192.168.147.129:8848
      config:
        server-addr: http://192.168.147.129:8848
        file-extension: yaml  # 必须修改成yaml
        group: DEFAULT_GROUP  # 缺省即可
        prefix: ${spring.application.name} # 缺省即可

注意这里使用bootstrap.yml而非application.yml,避免applicaton.yml后加载于nacos配置并覆盖 SpringBoot读取配置文件顺序: bootstrap.yml>bootstrap.yaml>bootstrap.properties>nacos的配置>application.yml>application.yaml>application.properties 添加下面依赖可以使bootstrap配置生效

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

3.添加接口读取配置信息并添加动态刷新配置的注解@RefreshScope

@RefreshScope
@RestController
@RequestMapping("/oauth")
public class AuthController {


    @Value("${rsa.publicKey}")
    public String publicKey;


    @GetMapping("/publicKey")
    public Result getPublicKey(){
        return Result.success(this.publicKey);
    }
}

Result公共返回类可以直接依赖 ljf-common-base

4.打开nacos管理控制台添加配置

DATA-ID :  ${prefix}-${spring.profiles.active}.${file-extension}

a). prefix 默认spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置
b). file-extension默认properties,比如我这里使用的是yaml,那么更改spring.cloud.nacos.config.file-extension= yaml
c). Group默认DEFAULT_GROUP,也可以通过配置项 spring.cloud.nacos.config.group来配置

配置内容:

rsa:
  publicKey: 123456

5.启动服务后第一次读取配置信息

6.修改配置再次请求接口获取配置信息

rsa:
  publicKey: 12345678

可以看到通过接口第二次获取配置信息已变更,完成配置信息的动态刷新



Tags:yaml转properties

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言