Spring Cloud Alibaba入门之Nacos作为配置中心使用

Nacos作为配置中心使用

  Nacos除了作为注册中心外,还可以作为配置中心使用。下面我们演示Nacos作为配置中心的方式。

1、在Nacos配置中心添加配置项

  前面使用配置中心的时候,可以看到除了服务管理外,还有配置管理的菜单,这里就是配置中心进行管理的地方。

  添加一个用来测试的配置项。通过点击列表右上角“+”按钮(新增),进入编辑界面,然后添加一个测试的配置。

  其中,

  • Data ID,对应客户端的配置spring.cloud.nacos.config.prefix+spring.cloud.nacos.config.file-extension,其中,前者默认值为${spring.application.name}表示服务名,也可以通过参数自定义一个名称而不用服务名;后者默认为properties,用来表示配置文件的扩展名,也可以通过参数自定义一个扩展名。

  • Group ,对应客户端的spring.cloud.nacos.config.group参数,默认DEFAULT_GROUP,用来表示配置文件的分组。

  • 配置格式,指配置文件的格式,一般使用properties或yaml。

  • 配置内容,需要配置的参数,根据选择配置格式,配置相应的参数,配置方式和SpringBoot引用中的配置方式一样。这里选了properties格式,内容如上所示。

  配置完成后,点击“发布”按钮即可。这个时候,配置中心的配置文件就准备好了,下面我们开始在项目中使用这个配置文件中的配置项。

2、使用nacos-service验证配置中心的配置

1、添加使用配置中心所需的依赖,如下:

<!--引入Nacos的配置中心依赖-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

该依赖和注册发现所需依赖,可以一起使用,也可以分开使用。

2、修改配置文件bootstrap.properties

  这里需要注意的是,配置中心的相关配置需要放到bootstrap.properties配置文件中,这里涉及到了配置文件在Spring Boot中的加载顺序问题,这里不再展开,具体请参考《Spring Boot中配置文件的加载顺序问题详解》。这里为了方便,直接把所有的配置都放到了bootstrap.properties文件中,如下:

spring.application.name=qriver-nacos-server
server.port=8001
#注册中心配置
spring.cloud.nacos.discovery.server-addr=121.36.73.183:8848
#配置中心配置
spring.cloud.nacos.config.server-addr=121.36.73.183:8848

3、修改测试类ServiceController

  这里需要注意几点:

  1>、 @RefreshScope注解,

  需要在类上添加@RefreshScope注解,否则修改配置中心的文件时,应用程序中不会自动刷新。

  2>、 使用@Value注解获取参数

  通过@Value注解,使用${xxx}方式获取配置中的参数。

  3>、修改测试方法

  这里主要修改了service方法,用于测试。

@RestController
@RefreshScope
public class ServiceController {

    @Value("${config.testValue}")
    private String testValue;

    @GetMapping("/service")
    public String service(@RequestParam(required = false) String name) {
        if(StringUtils.isEmpty(name)){
            return "hello, " + testValue;
        }
        return "hello, " + name;
    }
}

4、启动程序,然后使用postman访问:http://127.0.0.1:8001/service,注意这里不要带参数。这时候会出现,配置中心里配置项的参数,如下:

修改配置项的值后,重新发布,再访问,返回结果也会跟着变化,这里不再贴出结果了。

  至此,使用nacos实现配置中心的功能也就演示完了。完整的源码:传送门

猜你喜欢

转载自blog.csdn.net/hou_ge/article/details/111500510
今日推荐