又是美好的一天呀~
个人博客地址: huanghong.top
往下看看~
内容概述
通常使用Nacos服务端进行配置变更时,客户端配置nacos相关属性并设置refresh属性为true(默认为fasle),客户端映射实体类属性就可以自动重新映射,其实现原理基于事件发布监听和Spring容器中PropertySourceLocator接口的实现。
注: 本文内容只针对于Bean属性动态刷新,并不支持@Value注解的动态更新
代码实现
pom.xml
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<!--nacos client 2.1.0-->
<spring.boot.version>2.3.12.RELEASE</spring.boot.version>
<spring.cloud.alibaba.version>2.2.9.RELEASE</spring.cloud.alibaba.version>
<spring.cloud.version>Hoxton.SR12</spring.cloud.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring.cloud.alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--nacos config--&