您的位置:首页 > 编程语言 > Java开发

SpringCloud Alibaba Nacos作为配置中心(三)----------yml格式配置文件

2019-01-19 20:37 1426 查看

采用yml配置文件

客户端配置,在bootstrap.properties文件中spring.cloud.nacos.config.file-extension属性声明从配置中心中读取的配置文件格式

该配置的缺省值为properties,即默认是读取properties格式的配置文件。当客户端没有配置该属性,并且在nacos server添加的是yml格式的配置文件,则给客户端会读取不到配置文件,导致启动失败。

因而在在bootstrap.properties文件中添加

[code]spring.cloud.nacos.config.file-extension=yml

或者

[code]spring.cloud.nacos.config.file-extension=yaml

注:在客户端和server端对文件格式的声明要一致,例如在客户端声明的是yml,则server端添加配置文应该是${application.name}.yml,若写成${application.name}.yaml,则会找不到配置文件。

以yml为例:

bootstrap.properties 文件添加配置后:

[code]spring.application.name=nacos-config-client
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.config.file-extension=yml

 

server端添加配置文件nacos-config-client.yml 

再创建yaml格式配置文件nacos-config-client.yaml 

此时server端有如下三个配置文件

修改TestController,修改后如下:

[code]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;
}
}

启动客户端:访问http://localhost:8080/test 得到如下

显然是配置中心的 nacos-config-client.yml 生效。

修改bootstrap.properties文件中的spring.cloud.nacos.config.file-extension=yaml

重启客户端,访问http://localhost:8080/test 得到如下

显然,  nacos-config-client.yaml生效。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐