项目示例 - 4.配置中心 - 1.Nacos
关联知识:
- 分布式微服务 - 4.配置中心 - 2.Nacos
内容提要:
- 基本使用
基本使用
- 建Module:微服务起名为nacos-config
- 改pom:引入以下依赖
<dependencies><!--Nacos的配置管理--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><dependency><!--新版Spring Cloud禁用了bootstrap,导入依赖启用bootstrap--><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency><!--Nacos的服务注册--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
- 写yml:在resources目录下创建application.yml和bootstrap.yml文件,并做以下配置
# application.yml
server:port: 8001spring:profiles:active: testcloud:nacos:discovery:# nacos的地址server-addr: localhost:8848
# bootstrap.yml
spring:application:name: nacos-configcloud:nacos:config:# nacos地址server-addr: localhost:8848# 可配置namespace和groupgroup: DEFAULT_GROUP# 配置文件的类型file-extension: yml
- 主启动:在src下创建如下主启动类
package learn.demo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class NacosConfig {public static void main(String[] args) {SpringApplication.run(NacosConfig.class, args);}}
- 业务构建:创建如下controller类
package learn.demo.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.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/nacos/config/")
@RefreshScope // 配合@Value来刷新属性值
public class ConfigController {@Value("${spring.application.name} ${server.port}")private String serverInfo;@Value("${config.info}")private String configInfo;@GetMapping("test")public String test() {return serverInfo+"\t"+configInfo;}}
- 配置文件:启动nacos,并在配置列表中创建配置,Data Id为nacos-config-test.yml、Group为DEFAULT_GROUP、配置格式为yaml,配置内容如下
config:info: nacos-config-test.yml version=1
- 测试:
- 启动本微服务,浏览器访问
localhost:8001/nacos/config/test
接口,能正常返回信息 - 在nacos中修改配置文件内容,不重启微服务的情况下再次访问接口,接口返回信息也同步更改
.
- 启动本微服务,浏览器访问