javascript
Spring Aware接口
Spring中有很多繼承于aware中的接口,這些接口到底是做什么用到的。
public interface Aware {}Aware是一個具有標識作用的超級接口,實現該接口的bean是具有被spring 容器通知的能力的,而被通知的方式就是通過回調。也就是說:直接或間接實現了這個接口的類,都具有被spring容器通知的能力。
Spring的依賴注入的最大亮點是所有的Bean對Spring容器的存在是沒有意識的,我們可以將Spring容器換成其他的容器,Spring容器中的Bean的耦合度因此也是極低的。
但是我們在實際的開發中,我們卻經常要用到Spring容器本身的功能資源,所以Spring容器中的Bean此時就要意識到Spring容器的存在才能調用Spring所提供的資源。我們通過Spring提供的一系列接口Spring Aware來實現具體的功能。
常見Aware的作用
- BeanNameAware:獲得到容器中Bean的名稱
- BeanFactoryAware: 獲得當前bean Factory,從而調用容器的服務
- ApplicationContextAware:獲得當前的application context從而調用容器的服務
- MessageSourceAware:得到message source從而得到文本信息
- ApplicationEventPublisherAware:應用時間發布器,用于發布事件
- ResourceLoaderAware:獲取資源加載器,可以獲得外部資源文件
Spring Aware的目的是為了讓Bean獲得Spring容器的服務。因為ApplicationContext接口集成了MessageSource接口、ApplicationEventPublisher接口和ResourceLoader接口,因此當Bean繼承自ApplicationContextAware的時候就可以得到Spring容器的所有服務。
BeanNameAware
public interface BeanNameAware extends Aware {void setBeanName(String name); }BeanNameAware是在invokeAwareMethods中進行回調函數調用
ApplicationContextAware
在后置處理器ApplicationContextAwareProcessor中進行回調函數調用的。
EmbeddedValueResolverAware
在后置處理器ApplicationContextAwareProcessor中進行回調函數調用的。
?
總結
以上是生活随笔為你收集整理的Spring Aware接口的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Redis--进阶
- 下一篇: redis(17)--集群