开发工具:IntelliJ IDEA 2019.2.4(Ultimate Edition)
Nacos官网:https://nacos.io/zh-cn/
1.添加配置管理依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
2.在bootstrap.yml
中配置 Nacos server 的地址和应用名,如果bootstrap.yml
不存在则在application.yml
文件同级目录中新建即可
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
file-extension: yaml
application:
name: oa-user-center
3.在Nacos控制台中新建Data Id为oa-user-center.yaml
的配置项
4.在cn.libaiii.user.center.rest
包下新建ConfigController
类测试读取nacos config
中的配置
通过 @RefreshScope
注解 实现配置自动更新
通过@Value
注解读取nacos config
中配置的值
package cn.libaiii.user.center.rest;
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;
/**
* TODO
*
* @author libai
* @version 1.0
* @date 2020/1/14
*/
@RestController
@RequestMapping("config")
@RefreshScope
public class ConfigController {
@Value("${nacos.config.name}")
private String config;
@RequestMapping("/getConfig")
public String getConfig() {
return this.config;
}
}
5.重启服务,访问http://localhost:8081/config/getConfig 响应libai
,读取nacos config
配置的值成功
6.使用Nacos配置中心,管理数据源
复制application.yml
中的datasource
配置,添加到Nacos配置中心的oa-user-center.yaml
的配置内容中点击发布,删除application.yml
中的datasource
配置,重启服务,即可。其他配置均可迁移到配置中心的维护