1、添加依赖
在项目pom文件中,添加nacos作为配置中心的jar。
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2、配置yml
有两个yml文件,一个是bootstrap.yml,一个是application.yml。
bootstrap.yml:
# nacos配置
server:
port: 3377
spring:
application:
name: nacos-config-center
cloud:
nacos:
config:
server-addr: localhost:8848 #nacos作为配置中心
file-extension: yaml #指定配置格式
application.yml:
spring:
profiles:
active: dev # 配置为开发环境
3、业务类
业务代码大家根据自己的需求写就行,主要是在controller类上添加@RefreshScope注解,这个是开启自动刷新的注解。
@RestController
@RefreshScope
public class ConfigCenterController {
// 业务代码自己编写
@Value("${config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo() { return configInfo; }
}
4、启动
启动nacos服务和项目,在浏览器中输入地址localhost:8848/nacos/#/login
就可以看到nacos登录界面,用户名和密码都是nacos。
登录之后会看到如下图,在配置管理-配置列表里面有一条数据,那是我配的,如果大家是新部署的nacos,是没有数据的。
5、配置说明
在nacos配置界面,有Data ID这一项,下面说说这一项的命名规则,这个在nacos官网也可以看到,这里为了能让大家看懂,粘贴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 的拼接格式变成${prefix}.${file-extension}
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型。
大家可以看到我的nacos配置列表中有一条数据,那条数据的dataid就是根据官网规则命名,也请大家按照规则来,这样维护起来根据dataid就可以知道是什么环境,什么服务出问题了。
6、测试
给大家看一下我的配置:
在浏览器中输入请求地址 http://localhost:3377/config/info
注意:/config/info 是我controller中的方法路径,大家可以看上面代码,都有示例。测试结果如下:
如果请求能看到nacos配置的内容,就说明测试通过。