最近項目中實現讀寫分離時有用到@ConfigurationProperties注解,通過不同的前綴來配置不同的數據源信息
如果沒有使用過springboot的可能對這個注解不太熟悉,下面簡單的對這個注解做個解析:
@ConfigurationProperties注解可以注入在application.properties配置文件中的屬性,和@Bean 或者 @Component 能生成spring bean 的注解結合起來使用
該類在加載過程中會調用AbstractAutowireCapableBeanFactory中的applyBeanPostProcessorsBeforeInitialization接口進行一些前置處理
觸發ConfigurationPropertiesBindingPostProcessor調用postProcessBeforeInitialization;
后面就是一些屬性的解析和綁定過程了,自己debug可以看到屬性的詳細解析,看源碼確實比較耗費時間,自己debug翻一下源碼確實能對整個的解析過程有更深刻的了解,可以提高對源碼的分析能力,感覺比瀏覽一般博客會更有收獲