赞
踩
<dependencies> <!-- 引入nacos的配置中心依赖 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <!--引入nacos的服务发现--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-nacos-discovery</artifactId> </dependency> <!-- springboot web starter 用来监听端口--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 如果在子工程/模块指定了 version,则以指定为准 --> </dependency> <!-- 1. starter-actuator 是 springboot 程序的监控系统,可以实现健康检查,info 信息 等 2. 访问 http://localhost:10000/actuator 可以看到相关链接, 还可以做相关设置. --> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --> <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> <!-- test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 公共模块的jar包 --> <dependency> <groupId>org.example</groupId> <artifactId>e_commerce_center-common-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
spring:
profiles:
active: dev # 指定当前环境为开发环境,对应于配置中心文件的-dev
server: port: 5000 # 配置服务端口 spring: application: name: e-commerce-nacos-config-client # 配置服务的名称,这里的name需要参考nacos配置中心里配置文件的名字 cloud: nacos: # encos服务注册 discovery: server-addr: localhost:8848 # 配置中心 config: server-addr: localhost:8848 # 查找到配置中心 file-extension: yaml # 文件后缀
package com.sun.springcloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; /** * Description: * * @Author sun * @Create 2024/3/27 21:21 * @Version 1.0 */ @SpringBootApplication @EnableDiscoveryClient // 开启nacos服务发现 public class NacosConfigClientApplication5000 { public static void main(String[] args) { SpringApplication.run(NacosConfigClientApplication5000.class, args); } }
package com.sun.springcloud.controller; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * Description: 获取配置中心的数据 * * @Author sun * @Create 2024/3/27 21:27 * @Version 1.0 */ @RestController @Slf4j public class NacosConfigController { /* 使用Value注解可以获取配置中心中对应于这个微服务集群的配置文件的信息,注意:如果获取不到信息,则微服务直接启动不了 */ @Value("${config.ip}") private String ip; @Value("${config.name}") private String name; @GetMapping("/nacos/config/mes") public String getConfigIpAndName() { return "ip:" + ip + " name:" + name; } }
[application-name]-[environment].[file-extension]
user-service-dev.yml
order-service-prod.yml
要为开发环境,用户模块的一个服务指定配置文件
server: port: 5000 # 配置服务端口 spring: application: name: e-commerce-nacos-config-client # 配置服务的名称,这里的name需要参考nacos配置中心里配置文件的名字 cloud: nacos: # nacos服务注册 discovery: server-addr: localhost:8848 # nacos服务注册中心地址 # 配置中心 config: server-addr: localhost:8848 # 配置中心地址 file-extension: yaml # 指定配置文件的格式 group: user # 指定配置文件的分组 namespace: 122114f8-b2eb-480a-9ef3-1f8d30446736 # 指定命名空间id
spring:
profiles:
active: dev # 指定当前环境为开发环境
<dependencies> <!-- 引入nacos的配置中心依赖 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <!--引入nacos的服务发现--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-nacos-discovery</artifactId> </dependency> <!-- springboot web starter 用来监听端口--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!-- 如果在子工程/模块指定了 version,则以指定为准 --> </dependency> <!-- 1. starter-actuator 是 springboot 程序的监控系统,可以实现健康检查,info 信息 等 2. 访问 http://localhost:10000/actuator 可以看到相关链接, 还可以做相关设置. --> <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web --> <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> <!-- test --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <!-- 公共模块的jar包 --> <dependency> <groupId>org.example</groupId> <artifactId>e_commerce_center-common-api</artifactId> <version>1.0-SNAPSHOT</version> </dependency> </dependencies>
package com.sun.springcloud; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; /** * Description: * * @Author sun * @Create 2024/3/27 21:21 * @Version 1.0 */ @SpringBootApplication @EnableDiscoveryClient // 开启nacos服务发现 public class NacosConfigClientApplication5000 { public static void main(String[] args) { SpringApplication.run(NacosConfigClientApplication5000.class, args); } }
package com.sun.springcloud.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; /** * Description: 获取配置中心的数据 * * @Author sun * @Create 2024/3/27 21:27 * @Version 1.0 */ @RestController @RefreshScope // 实现配置信息自动刷新 public class NacosConfigController { /* 使用Value注解可以获取配置中心中对应于这个微服务集群的配置文件的信息,注意:如果获取不到信息,则微服务直接启动不了 */ @Value("${config.ip}") private String ip; @Value("${config.name}") private String name; @GetMapping("/nacos/config/mes") public String getConfigIpAndName() { return "ip:" + ip + " name:" + name; } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。