本文主要介绍如何在springcloud中通过nacos配置中心读取配置参数。本例使用的springcloud版本为:2021.0.3,springboot版本为:2.6.8,springcloudalibaba版本为:2021.0.1.0,nacos服务端版本为:2.1.1。
打开idea新建项目,选择maven,创建springboot项目nacos-config-client-3377项目。

在项目pom中引入spring-cloud-starter-alibaba-nacos-discovery、spring-cloud-starter-alibaba-nacos-config和spring-cloud-starter-bootstrap依赖:
- <dependencies>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- </dependency>
-
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
- </dependency>
-
- <dependency>
- <groupId>com.alibaba.cloud</groupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
- </dependency>
-
- <dependency>
- <groupId>org.springframework.cloud</groupId>
- <artifactId>spring-cloud-starter-bootstrap</artifactId>
- </dependency>
- </dependencies>
在项目resources文件夹下创建bootstrap.yml文件,并按如下内容进行配置:
- server:
- port: 3377
-
- spring:
- application:
- name: nacos-config-client
- cloud:
- nacos:
- discovery:
- server-addr: 127.0.0.1:8848
- config:
- server-addr: 127.0.0.1:8848
- file-extension: yaml
备注:在pom文件中需要引入spring-cloud-starter-bootstrap依赖,否则可能无法读取bootstrap.yml文件中的配置数据。
在项目resources文件夹下创建application.yml文件,并按如下内容进行配置:
- spring:
- profiles:
- active: dev
在项目src/main/java下创建主应用类NacosConsumerOrderApplication.java,添加注解@EnableDiscoveryClient、@SpringBootApplication。
- @SpringBootApplication
- @EnableDiscoveryClient
- public class NacosConfigClientApplication {
- public static void main(String[] args) {
- SpringApplication.run(NacosConfigClientApplication.class, args);
- }
- }
在项目controller文件夹下创建ClientController,添加@RefreshScope实现自动刷新读取最新的参数。
- @RestController
- @RefreshScope
- public class ClientController {
- @Value("${config.info}")
- String configInfo;
-
- @GetMapping("/configInfo")
- String getConfigInfo(){
- return configInfo;
- }
- }
在浏览器中访问http://localhost:8848/nacos ,选择配置管理-配置列表-新增,配置参数。



本例的源代码可以访问GitHub地址获取:GitHub - sgknight2020/springcloud2021.0.3
启动并运行项目nacos-config-client-3377,打开浏览器访问http://127.0.0.1:3377/configInfo就可以获取配置信息。如果在nacos中手动修改了配置参数,如把version修改为2,再次在浏览量中进行访问,可以获取最新修改后的数据。
