本文主要介绍如何在springcloud中通过nacos配置中心读取配置参数。本例使用的springcloud版本为:2021.0.3,springboot版本为:2.6.8,springcloudalibaba版本为:2021.0.1.0,nacos服务端版本为:2.1.1。
1、创建nacos-confit-client-3377项目
打开idea新建项目,选择maven,创建springboot项目nacos-config-client-3377项目。
2、pom文件配置
在项目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>
3、bootstrap.yml文件配置
在项目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文件中的配置数据。
4、application.yml文件配置
在项目resources文件夹下创建application.yml文件,并按如下内容进行配置:
spring:
profiles:
active: dev
本文主要介绍如何在springcloud中通过nacos配置中心读取配置参数。本例使用的springcloud版本为:2021.0.3,springboot版本为:2.6.8,springcloudalibaba版本为:2021.0.1.0,nacos服务端版本为:2.1.1。
1、创建nacos-confit-client-3377项目
打开idea新建项目,选择maven,创建springboot项目nacos-config-client-3377项目。
2、pom文件配置
在项目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>
3、bootstrap.yml文件配置
在项目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文件中的配置数据。
4、application.yml文件配置
在项目resources文件夹下创建application.yml文件,并按如下内容进行配置:
spring:
profiles:
active: dev
5、主应用类配置
在项目src/main/java下创建主应用类NacosConsumerOrderApplication.java,添加注解@EnableDiscoveryClient、@SpringBootApplication。
@SpringBootApplication
@EnableDiscoveryClient
public class NacosConfigClientApplication {
public static void main(String[] args) {
SpringApplication.run(NacosConfigClientApplication.class, args);
}
}
6、controller层配置
在项目controller文件夹下创建ClientController,添加@RefreshScope实现自动刷新读取最新的参数。
@RestController
@RefreshScope
public class ClientController {
@Value("${config.info}")
String configInfo;
@GetMapping("/configInfo")
String getConfigInfo(){
return configInfo;
}
}
7、nacos配置中心
在浏览器中访问http://localhost:8848/nacos ,选择配置管理-配置列表-新增,配置参数。
7、测试验证
启动并运行项目nacos-config-client-3377,打开浏览器访问http://127.0.0.1:3377/configInfo就可以获取配置信息。如果在nacos中手动修改了配置参数,如把version修改为2,再次在浏览量中进行访问,可以获取最新修改后的数据。