@ConfigurationProperties源码分析 一
@ConfigurationProperties源码分析 二 什么时候注册的ConfigurationPropertiesBindingPostProcessor?
@ConfigurationProperties源码分析 三 什么时候注册的ConfigurationClassPostProcessor?
@ConfigurationProperties源码分析 四 什么时候注册的ConfigurationPropertiesBindingPostProcessorRegistrar?
@ConfigurationProperties源码分析 五 如何实现递归赋值配置类成员变量?
背景
之前我们项目当中,配置文件是通过 @Value("${zk.register.merinfo}") 方式注入的。
造成问题如下:
- 配置属性不统一,没有结构。
- 注入麻烦每个属性都要写配置名,和属性名。(只要有重复的工作,就应该重构)
- 配置零散在项目中各处
@Component
public class ApiBaseInfoService {
@Value("${zk.register.merinfo}")
public String merInfoRpc;
@Value("${pay.qpass.trade}")
public String payQpassTrade;
@Value("${pay.qpass.refund}")
public String payQpassRefund;
@Value("${pay.qpass.reverse}")
public String payQpassReverse;
}
修改后我们的代码如下.
@Configuration
@ConfigurationProperties(prefix = "jlpay")
@Data
public class TestConf {
private Notify notify = new Notify();
private String node;
public static TestConf TestConfStatic ;
{
TestConfStatic =this;
}
@Data
publi