springboot中我们可以通过配置spring.profiles.active 实现在开发、测试、生产环境下采用不同的配置文件
同样,我们同科可以在nacos server分别创建${application.name}-dev.properties、${application.name}-test.properties、${application.name}-prod.properties,然后通过spring.profiles.active来实现不同环境下使用不同的配置文件。
同样也适用于yml/yaml文件,只是客户端设置spring.cloud.nacos.config.file-extension=yaml具体可见https://blog..net/qq_26932225/article/details/86556334
nacos server 创建配置文件
在nacos server分别创建${application.name}-dev.properties、${application.name}-test.properties、${application.name}-prod.properties三个有配置文件
nacos-config-client-dev.properties
nacos-config-client-test.properties
nacos-config-client-prod.properties
controller代码:
package com.maoqu.nacos.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RefreshScope
@RestController
public class TestController {
@Value("${test.name}")
private String name;
@Value("${test.age}")
private int age;
@RequestMapping("/test")
public String test(){
return "name:" + name + " / " + "age" + age;
}
}
bootstrap.properties文件为:
spring.application.name=nacos-config-client
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#spring.cloud.nacos.config.file-extension=yaml
将工程打包成jar包
将可执行jar包复制到文件目录下,我只复制到D盘下
启动工程
启动windows命令行并进入到D盘下,执行java -jar nacos-client-0.0.1-SNAPSHOT.jar --spring.profiles.active=test
请求 http://localhost:8080/test得到下图,显然nacos-config-client-test.properties生效
同样当用java -jar nacos-client-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod启动工程请求http://localhost:8080/test后