1、nacos软件可以去官网下载,点这里
安装运行略…,
2、导入依赖,之前我试了很多版本,发现springboot版本和nacos版本很容易冲突。
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.7.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>nacos</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>nacos</name>
<description>nacos</description>
<properties>
<java.version>8</java.version>
</properties>
<dependencies>
<!--nacos-config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
<!--nacos-discovery-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
<!--web + actuator-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--一般基础配置-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- Druid依赖 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.8</version>
</dependency>
<!-- 数据库连接依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.28</version>
<scope>runtime</scope>
</dependency>
<!-- Mybatis Plus 依赖 -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.3.2</version>
</dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.12</version>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
3、然后就是上配置信息。
server:
port: 8080
spring:
application:
name: nacos
profiles:
active: dev
cloud:
nacos:
server-addr: localhost:8848
discovery: #服务注册相关配置
namespace: 27d8487c-b468-4e4b-8ceb-f11462644818
group: yurgqg
config: #配置文件相关配置
namespace: 27d8487c-b468-4e4b-8ceb-f11462644818
group: yurgqg
file-extension: yaml
refresh-enabled: true
extension-configs:
- data-id: nacos-${spring.profiles.active}.yaml
refresh: true
# shared-configs:
# - data-id: swagger-${spring.profiles.active}.yaml
# group: xuecheng-plus-common
# refresh: true
# - data-id: logging-${spring.profiles.active}.yaml
# group: xuecheng-plus-common
# refresh: true
# Spring????
# ???????
#spring:
# datasource:
# name: druidDataSource
# type: com.alibaba.druid.pool.DruidDataSource
# # ?????????????????IP?????
# url: jdbc:mysql://127.0.0.1:3306/yurgqg?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
# username: root
# password: root
# driver-class-name: com.mysql.cj.jdbc.Driver
# druid:
# # ?????????????????IP?????
# # url: jdbc:mysql://127.0.0.1:3306/db_excite_cms?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC
# # username: chen # ??????
# # password: 123456 # ?????
# initial-size: 1
# min-idle: 1
# max-active: 20
# test-on-borrow: true
4.配置信息需要注意点如下。
①、配置文件名称必须为bootstrap.yml或者bootstrap.properties.以下是报错信息
②、服务注册的点
5、服务注册时需要先在nacos创建一个命名空间即namespace.
如图创建后,会生成一个列表,如下命名空间id需要放到bootstrap.yml配置的namespace中如4=》②所示
然后启动项目,在nacos网页软件==》服务管理==》服务列表中,点击public右边的dev则可以看到如下所示则,表示注册成功了。
6、配置管理时,本地配置文件配置如下信息。
nacos中在配置管理==》配置列表中==》public右边dev中如下所示操作。
然后出来编辑配置页面,如下进行操作。
4、验证。
验证前还需要做一步启动类上加入注解:
@EnableDiscoveryClient
然后启动项目,发现数据库配置信息都已注释,项目仍然正常运行,说明,项目可以自动拉取nacos配置管理中心的配置信息。
为了进一步验证,我特意写了一个接口进行获取本地mysql库中的数据,接口发现也获取了,如下图所示,至此,说明配置中心功能demo也都成功了。