最近项目中实现读写分离时有用到@ConfigurationProperties注解,通过不同的前缀来配置不同的数据源信息
如果没有使用过springboot的可能对这个注解不太熟悉,下面简单的对这个注解做个解析:
@ConfigurationProperties注解可以注入在application.properties配置文件中的属性,和@Bean 或者 @Component 能生成spring bean 的注解结合起来使用
该类在加载过程中会调用AbstractAutowireCapableBeanFactory中的applyBeanPostProcessorsBeforeInitialization接口进行一些前置处理
触发ConfigurationPropertiesBindingPostProcessor调用postProcessBeforeInitialization;
后面就是一些属性的解析和绑定过程了,自己debug可以看到属性的详细解析,看源码确实比较耗费时间,自己debug翻一下源码确实能对整个的解析过程有更深刻的了解,可以提高对源码的分析能力,感觉比浏览一般博客会更有收获