废话
官网写的其实听清楚了的,下方是官网地址
https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html
注意
并不是所有的参数配置都能搭配热更新使用的,类似于server.port=8080这种入口级的,就老老实实重启服务吧。
准备工作
1、搭一个Nacos
https://nacos.io/zh-cn/docs/quick-start.html
直接按照上方链接的官网教程安装一个单机版的Nacos,具体过程不在赘诉。
需要注意的是,安装Maven的时候,记得将数据源切换成阿里云的或者其他国内云的镜像地址,不然的话在构建的时候有可能有些包找不到。
//打开maven根目录的conf文件夹,打开settings.xml文件,在合适的地方加上下面这一段
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
2、准备一个SpringCloud项目
开搞
1、导包(这里只是最基本的,其他需要啥东西搭配的自行补上了,版本号记得与你所有的SpringCloud的版本号对得上,我这里用的是Hoxton.SR11版本)
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2021.1</version>
</dependency>
2、application.yml
这里必须要注意的一点,application.yml一定一定要改名成bootstrap.yml
spring:
profiles:
active: dev #dev-开发环境 test-测试环境 prod-正式环境
application:
name: test-service
cloud:
nacos:
config:
server-addr: 192.168.2.200:8848
file-extension: yaml #配置类型仅支持两种(properties和yaml),切记yaml不要写成yml
2、热更新
通过 Spring Cloud 原生注解 @RefreshScope 实现热更新。(放在配置类这里,特殊情况还需要在引用对应配置的类或者方法中,例如数据库的数据源配置方法,就需要加上这个注解)
3、配置
根据官方提示:
if(profiles.active!=null){
DataID=application.name+"-"+profiles.active+"."+file-extension;
}else{
DataID=application.name+"."+file-extension;
}
所以这里得到DataID为:test-service-dev.yaml
搞完收工,直接跑一下,不出错就是成功了