幾個Aware接口

Spring中提供一些Aware相關接口,像是BeanFactoryAware、ApplicationContextAware、ResourceLoaderAware、ServletContextAware等等,實現這些Aware接口的Bean在被初始之後,可以取得一些相對應的資源,例如實現BeanFactoryAware的Bean在初始後,Spring容器將會注入BeanFactory的實例,而實現ApplicationContextAware的Bean,在Bean被初始後,將會被注入ApplicationContext的實例等等。
Bean取得BeanFactory、ApplicationContextAware的目的是什麼,一般的目的就是要取得一些資源的存取、或是使用那些被注入的實例所提供的機制,例如ApplicationContextAware提供了publishEvent()方法,可以支持基於Observer模式的事件傳播機制。


例如:
org.springframework.context.ApplicationContextAware

加載Spring配置文件時,如果Spring配置文件中所定義的某個Bean類實現了ApplicationContextAware 接口,那麼在加載Spring配置文件時,會自動調用ApplicationContextAware 接口中的

public void setApplicationContext(ApplicationContext context) throws BeansException

方法,使該bean的實例獲得ApplicationContext對象。


進而可以使用ApplicationContext,例如getBean()等。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章