一、背景
后端基于SpringCloud项目架构的话,默认会使用Nacos来做配置中心,但是这对从来没接触过Nacos配置中心的小伙伴,肯定就不知道怎么回事了,于是便有了这一篇指引。
二、Nacos配置中心是如何引入SpringCloud项目中的呢?
Step1、在pom文件中引入Nacos的依赖
<!--注册中心客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--配置中心客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
Step2、新增bootstrap.yml文件
server:
port: 5000
spring:
application:
name: @artifactId@
# 配置中心
cloud:
nacos:
discovery:
server-addr: ${NACOS_ADDR:服务端IP地址:端口号}
group: 组名
username: ${NACOS_USERNAME:账号}
password: ${NACOS_PASSWORD:密码}
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
group: 组名
file-extension: yml
username: ${NACOS_USERNAME:账号}
password: ${NACOS_PASSWORD:密码}
shared-configs[0]:
data-id: application-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
refresh: true
group: 组名
profiles:
active: ${SPRING_PROFILES_ACTIVE:dev}
三、具体Nacos怎么引入配置的呢?
Step1、在Nacos中配置参数
Step2、定义配置文件
比如这里是为了将Cos相关的配置,放在Nacos中去做动态管理
@Data
@RefreshScope
@Configuration
@ConfigurationProperties(prefix = "cos")
public class CosConfigProperties {
private String secretId;
private String secretKey;
private String bucket;
private String region;
}
Step3、注入配置类
在你要使用的类中,注入这个配置
private final CosConfigProperties cosConfigProperties;
Step4、直接使用
因为上面使用@Getter 和 @Setter注解,所以可获取与使用这个变量即可
cosConfigProperties.getSecretId()
cosConfigProperties.getSecretKey()
cosConfigProperties.getRegion()
cosConfigProperties.getBucket()