0%

Nacos配置中心

文章字数:395,阅读全文大约需要1分钟

基础环境

  1. 下载nacos
  2. 配置mysql连接信息
  3. /bin/startup.cmd启动

创建普通应用

  1. 创建一个SpringBoot应用,并配置
1
2
3
4
5
6
# 表示当前是开发环境的配置文件
spring.profiles.active: dev
# 服务器端口
server.port: 8081
# 业务参数
param: 10;
1
2
3
4
5
6
7
8
9
10
11
12
@RestController
public class TestController {

// 读取参数
@Value("${param:0}")
private String param;

@RequestMapping("/param")
public String getParam() {
return param;
}
}
  • 此时访问/param路径就会返回application中配置的参数

应用参数动态配置

  • 增加依赖
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR1</spring-cloud.version>
<alibaba.version>0.9.0.RELEASE</alibaba.version>
</properties>

<dependencies>
...
<!-- 增加nacos-config的依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${alibaba.version}</version>
</dependency>
</dependencies>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<!-- type默认是jar,pom代表引入的是父级 -->
<type>pom</type>
<!-- 只能用在dependencyManagement里,代表把springcloud的dependencyManagement内容引入,类似继承的效果。因为当前项目父级是springBoot,所以无法再指定一个springCloud的父级,所以用这种方式引入 -->
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
  • 添加配置文件bootstrap.yml
  • 这个配置文件spring会在加载application.properties之前加载,将nacos相关信息配置在这里
1
2
3
4
5
6
7
spring:
application:
name: test-service
cloud:
nacos:
config:
serer-addr: 127.0.0.1:8848
1
2
3
4
5
6
// 增加这个标签,spring在加载bean时就会自动代理相应的setter方法,从而实现动态加载配置
@RefreshScope
@RestController
public class TestController {
...
}

nacos动态配置参数

  1. 进入nacos后台http://localhost:8848/nacos/,默认用户名密码都是nacos
  2. 选择 配置管理-》配置列表
  3. 新增配置
  4. Data Id 设置为test-service-dev.properties(服务名-运行环境)
  5. 格式选择properties
  6. 增加配置内容
1
param=1
  • 重启应用即可生效