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