0%

SpringBoot2.4+Nacos2.0以上注册Nacos配置中心

SpringBoot2.4+Nacos2.0以上注册Nacos配置中心

版本说明

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
github上查看对应版本
img
我们选择最新的2021.0.4.0
如果不清楚springcloudalibaba的版本可以从下面网址中搜索
https://developer.aliyun.com/mvn/search找到想要的对应版本
img

添加依赖

只写了部分重要依赖

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
<!--服务注册发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--nacos config配置-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<exclusions>
<exclusion>
<groupId>com.alibaba.nacos</groupId>
<artifactId>nacos-client</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--springcloudalibaba-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2021.0.4.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

配置yml文件

springboot2.4之后推荐使用import方式注入配置只需要在application.yml文件里开启就行
官方文档(springboot2.4以上)https://github.com/alibaba/spring-cloud-alibaba/tree/2021.x/spring-cloud-alibaba-examples/nacos-example/nacos-config-2.4.x-example
img

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
spring:
datasource:
username: root
password: root
url: jdbc:mysql://192.168.127.129:3307/sms?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
driver-class-name: com.mysql.cj.jdbc.Driver
cloud:
nacos:
discovery:
server-addr: 192.168.127.129:8848
config:
server-addr: 192.168.127.129:8848
application:
name: shop-coupon
config:
import:
- optional:nacos:shop-coupon.properties
mybatis-plus:
mapper-locations: classpath*:/mapper/**/*.xml
#自增
global-config:
db-config:
id-type: auto
server:
port: 7000

在nacos添加配置文件

添加配置文件的dataid要和- optional:nacos:后的名字一致
img

验证

写个controller验证一下

1
2
3
4
5
6
7
8
@Value("${default.password}")
private String password;


@RequestMapping("/test")
public R test(){
return R.ok().put("password", password);
}

img

注意

Nacos2.0版本相比1.X新增了gRPC的通信方式,因此需要增加2个端口。新增端口是在配置的主端口(server.port)基础上,进行一定偏移量自动生成端口 与主端口的偏移量

1
docker run --env MODE=standalone --name nacos -d -p 8848:8848 -p 9848:9848 nacos/nacos-server