简介

接下来对分布式项目实现统一配置管理,本操作先要完成之前的步骤,详情请参照【Spring Cloud Alibaba】Spring Cloud Alibaba 搭建教程

Spring Boot Profile

面对复杂的生产测试和开发环境, Spring 为我们提供了 Profile 这个功能,我们只需要在启动的时候添加一个虚拟机参数,激活自己环境所要用的 Profile 就可以了。

操作起来很简单,只需要为不同的环境编写专门的配置文件,application-{profile}.properties/yml或者是bootstrap-{profile}.properties/yml,如:application-dev.ymlapplication-prod.yml, 启动项目时只需要增加一个命令参数 --spring.profiles.active=环境配置 即可,启动命令如下:

java -jar moonce-1.0.0-SNAPSHOT.jar --spring.profiles.active=prod

这样我们使用的就是application-prod.yml中的配置

Nacos Config Profile

在我们的Nacos中依然支持这种加载方式,spring-cloud-starter-alibaba-nacos-config 在加载配置的时候,不仅仅加载了以 dataid${spring.application.name}.${file-extension:properties} 为前缀的基础配置,还加载了 dataid${spring.application.name}-${profile}.${file-extension:properties} 的基础配置。在日常开发中如果遇到多套环境下的不同配置,可以通过 Spring 提供的 ${spring.profiles.active} 这个配置项来配置。

Nacos设置

浏览器打开 http://localhost:8848/nacos ,访问 Nacos Server
在这里插入图片描述

点击创建配置按钮
在这里插入图片描述
接下来,为我们的服务提供者(moonce-provider)创建配置文件:
在这里插入图片描述

注意:端口由8080改为8081user.name改为prod

moonce-provider-config-prod.yaml

spring:
  application:
    name: moonce-provider
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

server:
  port: 8082

management:
  endpoints:
    web:
      exposure:
        include: "*"
# 测试
user:
  name: "prod"

点击发布,查看列表
在这里插入图片描述

微服务设置

找到我们之前的服务提供者(moonce-provider)模块,进行如下修改

修改配置文件

新增配置文件,命名为bootstrap-prod.properties,内容如下

bootstrap-prod.properties

# 配置文件选择
spring.profiles.active=prod
# 这里的应用名对应 Nacos Config 中的 Data ID,实际应用名称以配置中心的配置为准
spring.application.name=moonce-provider-config
# 指定查找名为 nacos-provider-config.yaml 的配置文件
spring.cloud.nacos.config.file-extension=yaml
# Nacos Server 的地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

注意:主要增加了 spring.profiles.active=prod 配置,用于指定访问 Nacos Server 中的 nacos-provider-config-prod.yaml 配置

启动项目

此时我们有两个配置文件,分别为 bootstrap.propertiesbootstrap-prod.properties ,我们需要指定启动时加载哪一个配置文件,操作流程如下:

复制服务中的ProviderApplication启动项
在这里插入图片描述
配置如下
在这里插入图片描述
观察日志,判断是否成功加载配置
在这里插入图片描述
在这里插入图片描述
浏览器访问地址http://localhost:8082/hi,结果如下:
在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐