@平凡之路_26e2 ignoreDependencyInterface并不影響構造器注入,也就是說無論有沒有ignoreDependencyInterface,最后注入的結果都取決于自動注入和后置處理器誰是后發(fā)生的助琐。
從實驗的結果上看 ignoreDependencyInterface 只影響了 setter 方法星岗,意味著自動注入會忽略例如 ApplicationContextAware 的 setter 方法溶握,所以 applicationContext 的值只有由后置處理器設置酌壕。
但是就算沒有ignoreDependencyInterface(ApplicationContextAware.class)晨炕,后置處理器依然是后與自動注入發(fā)生的衫画,意味著最后的值依舊是后置處理器設置的值,除非在 setter 方法中出現(xiàn)類似:
if (this.ignoreUser == null) {
this.ignoreUser = ignoreUser;
}
的代碼瓮栗,會導致最后設置的值是自動注入的值削罩。
打開BeanFactory ignoreDependencyInterface方法的正確姿勢在閱讀Spring容器擴展部分源碼的過程中,我了解到BeanFactory接口中有個方法叫ignoreDependencyInterface费奸。從官方文檔的“字面”來看弥激,其作用...