Spring Cloud Alibaba(二) 配置中心多项目、多配置文件、分目录实现 (2)

yml配置文件增加bootstrap.yml,把核心配置移到该配置文件
bootstrap.yml

spring: application: name: ali-nacos-consumer-feign cloud: nacos: discovery: server-addr: localhost:8848 config: name: ${spring.application.name} uri: :8001/ # config server 配置服务地址 profile: ${spring.profiles.active} label: master profiles: active: dev # 配置文件版本(该示例分为test,dev,pro)

编写配置读写测试类HomeController.java

@RestController @Slf4j public class HomeController { @Autowired private HelloService helloService; @Value("${easy.hello}") private String hello; @GetMapping(value = "http://www.likecs.com/", produces = "application/json") public String home() { log.info("-----------------consumer调用开始-----------------"); String param = "云天"; log.info("消费者传递参数:" + param); String result = helloService.hello(param); log.info("收到提供者响应:" + result); return "feign消费者" + result; } @RequestMapping("/hello") public Map hello() { Map map = new HashMap<>(); map.put("hello", hello); return map; } } 最后放上配置文件目录规划

config-repo配置总目录
ali-nacos-config-server 项目GIT的配置目录
ali-nacos-consumer-feign 项目GIT的配置目录

使用示例 在上一篇基础上,我们新建了2个项目,并调整ali-nacos-consumer-feign项目使它支持配置远程读取,有以下三个项目做测试。

ali-nacos-config-server:配置服务中心,服务名:ali-nacos-config-server,端口:8001
ali-nacos-config-client:配置客户端1(消费端),服务名:ali-nacos-config-client,端口:8002
ali-nacos-consumer-feign:配置客户端2(消费端),服务名:ali-nacos-consumer-feign,端口:9101

运行测试

首先要启动服务注册中心 nacos

启动ali-nacos-config-server服务,配置服务中心测试

访问::8001/ali-nacos-config-client/dev ,返回:

{ name: "ali-nacos-config-client", profiles: [ "dev" ], label: null, version: "5456d7ca31d46e91464b6efd3a0831a8208413d9", state: null, propertySources: [ ] }

访问::8001/ali-nacos-config-client/test ,返回:

{ name: "ali-nacos-config-client", profiles: [ "test" ], label: null, version: "5456d7ca31d46e91464b6efd3a0831a8208413d9", state: null, propertySources: [ ] }

这表示配置能正确从git上加载到了。

启动ali-nacos-config-client服务,运行客户端测试1

bootstrap.yml的active调成dev,访问::8002/hello ,返回:

{ hello: "ali-nacos-config-client 项目的 dev config", myconfig: "ali-nacos-config-client 项目的 myconfig config" }

bootstrap.yml的active调成test,访问::8002/hello ,返回:

{ hello: "ali-nacos-config-client 项目的 test config", myconfig: "ali-nacos-config-client 项目的 myconfig config" }

表示我git上该项目的2个配置文件都成功读取到了。

启动ali-nacos-consumer-feign项目,测试客户端测试2

访问::9101/hello

返回结果

{ hello: "ali-nacos-consumer-feign 项目的 dev config" }

表示该项目的配置文件加载成功了

资料

Spring Cloud Alibaba 示例源码

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxzsz.html