网站首页 > 精选文章 / 正文
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
猜你喜欢
- 2025-05-23 K8s服务编排
- 2025-05-23 小项目开发神器,Spring-Data-Rest 让你的代码身轻如燕!
- 2025-05-23 Java中自定义配置文件可以如此简单
- 2025-05-23 Java教程:学会写Starter-你就懂了SpringBoot自动配置
- 2025-05-23 springboot集成nacos配置中心
- 2025-05-23 说一个大家都知道的 Spring Boot 小细节!
- 2025-05-23 Nacos 统一配置中心动态刷新机制真香
- 2025-05-23 Nacos:简单易用的配置管理和服务发现注册中心
- 2025-05-23 零基础学习Spring Boot的难度有多大?
- 2025-05-23 用配置作为代码设置 Jenkins 实例(使用 Yaml 配置)