Spring Aware理解
阿新 • • 發佈:2019-01-29
通過spring的依賴注入,我們所有的bean對Spring容器的存在是沒有意識的,也就是說我們可以將容器替換成其他容器。但有時在實際專案中,我們不可避免要使用到Spring容器本身的功能資源,這時Bean必須意識到Spring容器的存在,才能呼叫Spring所提供的資源,這就是Spring Aware。
Spring提供如下Aware介面:
BeanNameAware 獲得容器中Bean的名稱
BeanFactoryAware獲得當前bean factory,這樣可以呼叫容器的服務
ApplicationContextAware 獲得當前的application context,這樣可以呼叫容器的服務
MessageSourceAware 獲得Message Source,這樣可以獲得文字資訊
ApplicationEventPublisherAware 應用事件釋出器,可以釋出事件,
ResourceLoaderAware獲得資源載入器,可以獲得外部資原始檔
ApplicationContext介面集成了MessageSource介面,ApplicationEventPublisher介面heResourceLoader介面,所以Bean繼承ApplicationContextAware可以獲得Spring容器所有服務。