赞
踩
Data ID: e-commerce-nacos-config-client-dev.yaml
先创建e-commerce-nacos-config-client5000 模块
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>e-commerce-center</artifactId>
<groupId>com.my.springcloud</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>e-commerce-nacos-config-client5000</artifactId>
<!--使用版本仲裁-->
<!--引入相关的依赖: 引入当前需要依赖,后面如果有其它需要,再灵活调整-->
<dependencies>
<!--加入nacos-config stater 即场景启动器-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--引入alibaba-nacos-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--引入web-starter-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!--引入e_commerce_center-common-api-->
<dependency>
<groupId>com.my.springcloud</groupId>
<artifactId>e_commerce_center-common-api</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</project>
spring:
profiles:
active: dev #指定环境,常见的环境有 dev开发/test测试/prod生产
server:
port: 20000 #端口
spring:
application:
#这里的name需要参考nacos 配置中心的Data Id
name: e-commerce-nacos-config-client
#配置nacos
cloud:
nacos:
discovery:
server-addr: localhost:8848 #服务注册中心地址
config:
server-addr: localhost:8848 #配置中心地址
file-extension: yaml #指定yaml格式的配置
group: search #指定search组,默认是DEFAULT_GROUP
namespace: ec3e8181-f157-4e0c-b3e2-080157f606ce #指定对应namespace id[百度]
#说明
#1. nacos 配置客户端/当前的微服务模块, 会根据配置,找到配置中心的数据(配置文件)
#2. config.server-addr: localhost:8848 可以找到配置中心
#3. spring.application.name 对应是DataId e-commerce-nacos-config
#4. 在application.yml: 配置 spring.profiles.active dev
#5. spring.cloud.nacos.config.file-extension 配置文件的扩展名 .yaml
#6. 小结: 根据配置 就是 到 localhost:8848 下的 e-commerce-nacos-config-dev.yaml
# 获取配置信息/数据
#7. 规则就是: ${spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-extension}
# 来定位配置中心的 Data ID
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfigClientApplication5000 {
public static void main(String[] args) {
SpringApplication.run(NacosConfigClientApplication5000.class, args);
}
}
@RestController
@Slf4j
@RefreshScope //spring cloud原生注解,实现了配置数据的自动刷新
public class NacosConfigClientController {
/**
* 解读
* 1. client 会拉取nacos server 的 e-commerce-nacos-config-client-dev.yaml
* config:
* ip: "122.22.22.22"
* name: "hhh"
* 2. @Value("${config.ip}") 会将 config.ip 赋给 configIp
* 3. 这里${config.ip} 不能乱写,要有依据
*/
@Value("${config.ip}")
private String configIp;
@Value("${config.name}")
private String configName;
@GetMapping("/nacos/config/ip")
public String getConfigIp() {
return configIp;
}
@GetMapping("/nacos/config/name")
public String getConfigName() {
return configName;
}
}
启动Nacos Server
启动e-commerce-nacos-config-client5000
浏览器: http://localhost:5000/nacos/config/ip
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。