@ConfigurationProperties 注解解析

 最近项目中实现读写分离时有用到@ConfigurationProperties注解,通过不同的前缀来配置不同的数据源信息

@ConfigurationProperties 注解解析_第1张图片

@ConfigurationProperties 注解解析_第2张图片

 

 如果没有使用过springboot的可能对这个注解不太熟悉,下面简单的对这个注解做个解析:

@ConfigurationProperties注解可以注入在application.properties配置文件中的属性,和@Bean 或者 @Component 能生成spring bean 的注解结合起来使用

该类在加载过程中会调用AbstractAutowireCapableBeanFactory中的applyBeanPostProcessorsBeforeInitialization接口进行一些前置处理

@ConfigurationProperties 注解解析_第3张图片

触发ConfigurationPropertiesBindingPostProcessor调用postProcessBeforeInitialization;

@ConfigurationProperties 注解解析_第4张图片

 

@ConfigurationProperties 注解解析_第5张图片

@ConfigurationProperties 注解解析_第6张图片

 

 @ConfigurationProperties 注解解析_第7张图片

 后面就是一些属性的解析和绑定过程了,自己debug可以看到属性的详细解析,看源码确实比较耗费时间,自己debug翻一下源码确实能对整个的解析过程有更深刻的了解,可以提高对源码的分析能力,感觉比浏览一般博客会更有收获

 

你可能感兴趣的:(@ConfigurationProperties 注解解析)