创建工程study_config测试nacos配置中心 作者:马育民 • 2020-06-24 16:06 • 阅读:10147 # 创建工程 参见: https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_spring_cloud_alibaba_nacos_config [![](https://www.malaoshi.top/upload/pic/nacos/20200624153402.png)](https://www.malaoshi.top/upload/pic/nacos/20200624153402.png) # 添加依赖 修改pom.xml文件 ``` org.springframework.cloud spring-cloud-starter-openfeign com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-actuator org.springframework.boot spring-boot-devtools runtime true org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test ``` # 添加 bootstrap.yml 配置文件 **注意:** 当从nacos配置中心拉取配置时,要用 `bootstrap.yml` 配置文件,参见: https://www.malaoshi.top/show_1EF5lbJAdbGe.html 在 `resources` 文件夹创建`bootstrap.yml`配置文件 ``` server: port: 9100 spring: application: name: study-config cloud: nacos: discovery: # 注册 server-addr: 106.13.165.100:8848 config: # 配置中心 server-addr: 106.13.165.100:8848 file-extension: yml profiles: active: dev # 拉取dev配置文件 ``` **注意:** - `name: study-config`不能改变,与`Data ID`相关,原因会在后面讲 - `active: dev`不能改变,与`Data ID`相关,原因会在后面讲 # 创建主启动类 ``` package top.malaoshi; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootApplication @EnableDiscoveryClient public class ConfigMain { public static void main(String[] args) { SpringApplication.run(ConfigMain.class,args); } } ``` # 测试controller ``` package top.malaoshi.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RefreshScope //支持Nacos的动态刷新功能 public class TestCtrl { @Value("${db.name}") private String name; @Value("${db.pwd}") private String pwd; @GetMapping("/test") public String test(){ return name+"--"+pwd; } } ``` ##### 解释 - `@Value("${db.name}")`:从nacos获取的配置 - `@Value("${db.pwd}")`:从nacos获取的配置 ### 自动更新 `@RefreshScope` `@RefreshScope`:支持Nacos的动态刷新功能 # nacos添加配置 第一步: [![](https://www.malaoshi.top/upload/pic/nacos/20200624175354.png)](https://www.malaoshi.top/upload/pic/nacos/20200624175354.png) 第二步: [![](https://www.malaoshi.top/upload/pic/nacos/20200624175314.png)](https://www.malaoshi.top/upload/pic/nacos/20200624175314.png) **注意:** 这里的 `Data ID`不能改变,与上面`study-config`和`dev`相关,原因会在后面讲 点击【发布】,如下图: [![](https://www.malaoshi.top/upload/pic/nacos/20200624214945.png)](https://www.malaoshi.top/upload/pic/nacos/20200624214945.png) # 测试 访问 http://localhost:9100/test 可以在网页上看到 信息,该信息是从nacos拉取下来的 原文出处:http://malaoshi.top/show_1EF5ld8WvUVp.html