# spring-value-auto-refresh-spring-cloud-starter
**Repository Path**: the-best-riven/spring-value-auto-refresh-spring-cloud-starter
## Basic Information
- **Project Name**: spring-value-auto-refresh-spring-cloud-starter
- **Description**: No description available
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 5
- **Forks**: 2
- **Created**: 2021-04-13
- **Last Updated**: 2021-12-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# spring-value-auto-refresh-spring-cloud-starter
#### 介绍
配置中心修改配置,实现springcloud应用@Value配置的自动刷新
#### 背景
研究nacos时发现,springboot版本可使用@NacosValue实现配置的自动刷新,spring原生注解@Value则无法自动刷新\
springcloud版本可采用两种方式(可能还有其他方式暂未研究过)实现自动刷新:\
1.手动注入@NacosValue注解的处理器并使用该注解修饰相关字段或方法,这需要弄清楚底层的来龙去脉,比较麻烦,且不支持spring原生@Value注解。\
2.借助@RefreshScope,将bean定义为RefreshScope。此方法也略显麻烦,每个存在配置需要刷新的类都要定义成RefreshScope。\
本项目就是为了解决上述问题而产生,引入依赖之后自动实现@Value配置的自动刷新,\
并且不是专门为nacos开发,只依赖springcloud的ContextRefresh机制(nacos的配置刷新也使用到了ContextRefresh)。
#### 软件架构
基于springcloud的ContextRefresh机制,监听EnvironmentChangeEvent事件并重新注入@Value配置\
需jdk1.8以上
#### 安装教程
##### 依赖引入
```xml
com.gitee.the-best-riven
spring-value-auto-refresh-spring-cloud-starter
1.0.0.RELEASE
```
##### spring版本
默认为以下版本,可自定义覆盖
```xml
5.0.10.RELEASE
2.0.6.RELEASE
Finchley.RELEASE
```
#### 特别说明
由于本人水平有限,不一定是最好的实现方式,如有问题欢迎指正。