-- 有空再补充
配置中心 实验结果先说结果,需要验证过程的可参看后面的代码和配置再次验证
- 1、nacos可同时加载多个配置,共享配置 spring.cloud.nacos.config.shared-configs 以数组的形式添加配置;
- 2、nacos配置生效的优先级。nacos加载的配置当中,由配置 spring.cloud.nacos.config.name 指定的配置为最高优先级,共享配置 spring.cloud.nacos.config.shared-configs 当中配置的的加载按照添加的顺序加载,即相同的配置项,顺序靠后的覆盖顺序靠前的。
引入nacos依赖
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config2.0.4.RELEASE
添加启动配置
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
namespace: ee601b91-4269-4452-bd5f-5010e78b69d8
name: nacos_service
group: dev_nacos
file-extension: yaml
shared-configs:
- data-id: mysql.yaml
group: dev_nacos
refresh: true
- data-id: priority.yaml
group: dev_nacos
refresh: true
nacos配置内容
nacos_service.yaml:
service: name: nacos_service_test config: priority: 1
mysql.yaml
spring:
datasource:
url: jdbc:mysql://127.0.0.1:336/nacos?characterEncoding=utf8
username: root
password: 123456
config:
priority: 2
priority2: 2
priority.yaml
config: priority: 3 priority2: 3
接口代码
ConfigController.java
@RestController
@RequestMapping("config")
@RefreshScope
public class ConfigController {
@Value(value = "${service.name}")
private String serviceName;
@Value(value = "${spring.datasource.url}")
private String dataSourceUrl;
@Value(value = "${spring.datasource.username}")
private String dataSourceUsername;
@Value(value = "${spring.datasource.password}")
private String dataSourcePassword;
@Value(value = "${config.priority}")
private Integer configPriority;
@Value(value = "${config.priority2}")
private Integer configPriority2;
@GetMapping(value = "/get",produces = "application/json")
public String get() {
return toString();
}
@Override
public String toString() {
return "{" +
""serviceName": "" + serviceName + '"' +
", "dataSourceUrl": "" + dataSourceUrl + '"' +
", "dataSourceUsername": "" + dataSourceUsername + '"' +
", "dataSourcePassword": "" + dataSourcePassword + '"' +
", "configPriority": " + configPriority +
", "configPriority2": " + configPriority2 +
"}";
}
}
工程启动后,接口返回的结果



