一,添加依赖
<!-- nacos配置中心依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2021.1</version>
</dependency>
<!-- 认识别并加载bootstrap.yml配置的依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>3.1.5</version>
</dependency>
2020.0.0版本之后,SpringCloud不再默认识别并加载bootstrap.yml配置,所以需要添加第二个依赖,如果出现无法读取配置中心文件的情况,请参考http://t.csdnimg.cn/v4yCm
二,在nacos注册中心,在配置管理中创建配置
在 Nacos Spring Cloud 中,dataId 的完整格式如下:
${prefix}-${spring.profiles.active}.${file-extension}
其中:
prefix
默认为 spring.application.name
的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
spring.profiles.active
即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成
p
r
e
f
i
x
.
{prefix}.
prefix.{file-extension}
file-exetension
为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型(注意:配置中别配错了,配置中要写yaml而不是yml)
。
三,在bootstrap.yaml中配置 Nacos server 的地址和应用名
spring:
cloud:
nacos:
config:
#你自己注册中心的地址
server-addr: 127.0.0.1:8848
#配置中心的配置文件的扩展名,对应上面DataId中的file-extension
file-extension: yaml
application:
#微服务名,对应DataId中的prefix
name: gulimall-member
四,测试
1.编写controller
@RefreshScope //通过 Spring Cloud 原生注解 @RefreshScope 实现配置自动更新
@RestController
@RequestMapping("menber/member")
public class MemberController {
@Value("${user.name}")
private String name;
@Value("${user.age}")
private String age;
@GetMapping("test")
public R test(){
return R.ok().put("msg","username:"+name+" age:"+age);
}
}
2.启动项目,测试读取成功
读取配置成功!
五,配置中心的命名与配置分组(进阶)
详情(非常详细,手把手):http://t.csdnimg.cn/wIHv4
如果有帮助到你,请点点赞。