续上文SpringCloud AliBaBa(一)-Nacos
Nacos服务已被启动.下面新建服务并将服务注册到Nacos上
构建父项目NacosCenter
新建SpringBoot项目并删除Src
父项目Pom文件
<?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>
<groupId>com.example</groupId>
<artifactId>NacosCenter</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>NacosCenter</name>
<description>NacosCenter</description>
<packaging>pom</packaging>
<properties>
<java.version>8</java.version>
<seata.version>1.6.1</seata.version>
</properties>
<modules>
<module>orderService</module>
<module>storeService</module>
<module>accountService</module>
<module>gatewayService</module>
</modules>
<dependencyManagement>
<dependencies>
<!--Spring boot 依赖(定义了微服务规范)-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.12.RELEASE</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!--Spring Cloud 依赖(定义了微服务规范)-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR12</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<!--Spring Cloud Alibaba依赖(基于spring微服务规范做了具体落地实现)-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.10-RC1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.seata</groupId>
<artifactId>seata-all</artifactId>
<version>${seata.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
</project>
对应版本如下
构建服务orderService
主要依赖
父POM选择对应版本,为实现Nacos得服务注册于发现以及config配置中心,需要引入
<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>
<version>3.1.3</version>
</dependency>
配置文件
配置文件名称必须为bootstrap.yml,bootstrap优先加载于application.yml.服务在启动时需要去Nacos配置中心读取配置
主要配置
启动类添加@EnableDiscoveryClient
Nacos中配置order-service-dev.properties
namespace:命名空间,yml中未配置,默认未public
group:为图中group名称
命名规则:serverName+profiles.active+file-extension
配置文件如下
配置server.port与user.name(方便测试实时刷新)
启动order-service服务
服务以10004端口启动,配置生效
查看Nacos服务列表
service被成功注册!
测试自动刷新配置 无需重启服务
读取配置得类上需要添加@RefreshScope
使用postman向接口发送请求,成功读取Nacos配置中心得user.name
更改Nacos配置中心得user.name=小辉辉
控制台提示Value被更改
继续调用接口
无需重启服务,配置已被更改!