使用Spring底層組件實現(xiàn)Aware接口
實現(xiàn)Aware接口使用Spring底層組件
Aware接口的實現(xiàn)類
基于@Component
,通過Aware的實現(xiàn)類在容器創(chuàng)建之前將Spring底層的信息獲取并使用。
例如:
- 獲取應(yīng)用上下文對象applicationContext的
ApplicationContextAware
- 獲取該類的bean對象信息的
BeanNameAware
- 獲取該類類加載器classloader的
BeanClassLoaderAware
/** * 通過Aware接口的實現(xiàn)類,獲取到Spring底層相關(guān)組件 */ @Getter @Component public class AwareComponent implements ApplicationContextAware, BeanNameAware { /** * 通過實現(xiàn)類的構(gòu)造方法,獲取到相應(yīng)的Spring容器參數(shù) */ private ApplicationContext applicationContext; private String thisBeanName; /** * 可以獲得注冊的Ioc容器的Context對象 * * @param applicationContext 從ApplicationContextAware獲取到的當(dāng)前bean的名字 * @throws BeansException 獲取bean異常 */ @Override public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { this.applicationContext = applicationContext; } /** * 可以獲取到當(dāng)前Bean(AwareComponent)的名字 * * @param name 從BeanNameAware中獲取到的當(dāng)前bean的名字 */ @Override public void setBeanName(String name) { this.thisBeanName = name; } }
使用
AnnotationConfigApplicationContext configContext = new AnnotationConfigApplicationContext(BeanConfiguration.class); // 測試Aware接口的實現(xiàn)類獲取Spring的參數(shù) AwareComponent awareComponent = configContext.getBean(AwareComponent.class); System.out.println("This Context: " + configContext); System.out.println("AwareComponent: " + awareComponent.getApplicationContext());
到此這篇關(guān)于使用Spring底層組件實現(xiàn)Aware接口的文章就介紹到這了,更多相關(guān)Spring Aware接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot一個接口多個實現(xiàn)類的調(diào)用方式總結(jié)
這篇文章主要介紹了SpringBoot一個接口多個實現(xiàn)類的調(diào)用方式,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2024-01-01解讀SpringBoot接收List<Bean>參數(shù)問題(POST請求方式)
這篇文章主要介紹了解讀SpringBoot接收List<Bean>參數(shù)問題(POST請求方式),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09WebSocket+Vue+SpringBoot實現(xiàn)語音通話的使用示例
本文主要介紹了WebSocket+Vue+SpringBoot實現(xiàn)語音通話的使用示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11java實現(xiàn)Socket通信之單線程服務(wù)
這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)Socket通信的單線程服務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07springboot全局配置文件與多環(huán)境配置的全過程
SpringBoot項目在多環(huán)境配置上表現(xiàn)的非常優(yōu)秀,只需要非常簡單的操作就可以完成配置,下面這篇文章主要給大家介紹了關(guān)于springboot全局配置文件與多環(huán)境配置的相關(guān)資料,需要的朋友可以參考下2021-12-12使用springboot每日推送早安問候語到用戶微信的全過程
近期網(wǎng)上又出現(xiàn)一股給女朋友做微信公眾號推送的潮流,所以這篇文章主要給大家介紹了關(guān)于如何使用springboot每日推送早安問候語到用戶微信的相關(guān)資料,文中通過圖文以及實例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11