成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring中Aware接口實現原理解析

開發 前端
項目中如果某些Bean中需要使用如ApplicationContext,Environment,BeanFactory等對象時我們都會去實現相關的Aware接口對象,然后就可以直接使用對應的對象了,今天我們就來開始它的實現原理。

[[399408]]

環境:Spring5.3.3 + Java8

項目中如果某些Bean中需要使用如ApplicationContext,Environment,BeanFactory等對象時我們都會去實現相關的Aware接口對象,然后就可以直接使用對應的對象了,今天我們就來開始它的實現原理。

使用示例:

  1. @Component 
  2. public class BeanAware implements ApplicationContextAware { 
  3.  
  4.     private ApplicationContext ctx ; 
  5.      
  6.     @Override 
  7.     public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { 
  8.         this.ctx = applicationContext ; 
  9.         System.out.println(this.ctx) ; 
  10.     } 
  11.  

 入口函數:

  1. public static void main(String[] args) { 
  2.         AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext("com.pack") ; 
  3.         ctx.getBean(BeanAware.class) ; 
  4.         ctx.close(); 
  5.     } 

正如上面這樣只要你實現對應的*Aware接口就可以使用相應的接口對象了。

先來看看Aware接口的層級結構:

接著我們查看

AnnotationConfigApplicationContext的父類AbstractApplicationContext

在父類中,有如下方法:

上面選中的就是處理Aware相關接口類了。查看這類

  1. class ApplicationContextAwareProcessor implements BeanPostProcessor 

該類是個Bean后處理器,在bean實例化及依賴注入完成后、在任何初始化代碼(比如配置文件中的init-method)調用之前調用和初始化代碼調用之后調用

在初始化之前方法中先檢查Bean是否是響應Aware接口的子類,如果不是直接返回;否則進入invokeAwareInterfaces方法

到這里你應該知道了Aware的底層原理了吧

完畢!!!

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2010-06-18 15:33:19

UML接口

2020-05-21 13:25:43

Spring組件架構

2017-08-22 16:40:22

前端JavaScript接口

2010-07-08 10:28:51

UML接口

2024-06-27 08:26:10

LooperAndroid內存

2023-02-28 09:07:18

ChatGPTAI

2020-09-22 12:00:23

Javahashmap高并發

2010-01-26 09:50:30

C++接口

2009-11-09 16:57:05

WCF托管特性

2021-07-05 07:51:43

JVM底層Python

2019-12-06 10:59:20

JavaScript運行引擎

2021-07-12 09:45:36

NameServer 核心Conusmer

2021-01-12 14:46:34

Kubernetes開發存儲

2023-12-26 08:08:02

Spring事務MySQL

2009-07-06 17:36:06

ResultSetJDBC Connec

2021-12-01 18:36:35

屬性

2023-08-11 07:44:40

TCP滑動窗口數據

2021-06-03 10:01:28

JDBCStatement接口

2021-05-21 10:01:01

JDBCJavaStatement接口

2021-06-22 10:24:22

Statement接口修改數據刪除數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人精品一区二区男人看 | 在线视频一区二区 | 国产高清一二三区 | 欧美成人精品一区二区男人看 | 免费在线观看一区二区 | 久久91av| 日韩一区二区在线观看视频 | 香蕉av免费| 日韩av一区二区在线观看 | 日韩三级电影在线看 | 91.xxx.高清在线 | 国产一级视频在线观看 | 中文字幕在线二区 | 亚洲欧美一区在线 | 91精品国产一区二区三区 | 久草视 | 日韩欧美在线免费观看视频 | 狠狠操网站| 精品中文字幕久久 | 欧美精品一区在线 | 日韩三级一区 | 久久精品91久久久久久再现 | 黄色一级大片视频 | 老司机67194精品线观看 | 精品视频一区二区三区在线观看 | 青青草原综合久久大伊人精品 | 毛片在线视频 | www国产成人免费观看视频 | 中文字幕国产精品视频 | 国产亚洲一区二区三区 | www.色综合| 久久久久久免费看 | 成人精品久久日伦片大全免费 | 黄色网址大全在线观看 | 亚洲视频一区二区三区 | 亚洲 欧美 另类 综合 偷拍 | 欧美成年人| 亚洲有码转帖 | 九色在线观看 | 精品视频99 | 亚洲欧美中文日韩在线 |