Spring中的可擴展接口


1.監聽器Listener(點此連接,執行流程帶源碼分析及demo)

2.bean定義的后置處理器(BeanDefinitionRegistryPostProcessor)和bean工廠的后置處理器(BeanFactoryPostProcessor):詳見Spring IOC(2)----如何注冊bean定義(點此連接,帶源碼分析)的第9點和10點

3.Aware接口:主要用於給對象注入某個屬性的值。下層有多個擴展接口

  BeanNameAware 實現setBeanName()方法,注入該bean在容器的name

  ApplicationContextAware 實現setApplicationContext() 可以為bean注入上下文對象ApplicationContext

  BeanFactoryAware 實現setBeanFactory(),可以注入容器工廠

  BeanClassLoaderAware 注入類加載器

4.BeanPostProcessor:bean的后置處理器,初始化前后調用,有前后兩個方法postProcessBeforeInitialization,postProcessAfterInitialization

5.InitializingBean:實現afterPropertiesSet()方法

看下spring IOC源碼中這三個接口調用順序AbstractAutowireCapableBeanFactory#initializeBean()中:

 

 

這里的Aware接口只會調用這三種:

 

 

 

------------------------------

eureka整合進spring是通過lifecycle接口

nacos整合進spring是通過applicationListener接口

ribbon是通過攔截器

feign和mybatis一樣都是通過factorybean

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM