日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Spring中Aware接口實(shí)現(xiàn)原理解析

環(huán)境:Spring5.3.3 + Java8

專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)新豐免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

項(xiàng)目中如果某些Bean中需要使用如ApplicationContext,Environment,BeanFactory等對(duì)象時(shí)我們都會(huì)去實(shí)現(xiàn)相關(guān)的Aware接口對(duì)象,然后就可以直接使用對(duì)應(yīng)的對(duì)象了,今天我們就來開始它的實(shí)現(xiàn)原理。

使用示例:

 
 
 
 
  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.  

 入口函數(shù):

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

正如上面這樣只要你實(shí)現(xiàn)對(duì)應(yīng)的*Aware接口就可以使用相應(yīng)的接口對(duì)象了。

先來看看Aware接口的層級(jí)結(jié)構(gòu):

接著我們查看

AnnotationConfigApplicationContext的父類AbstractApplicationContext

在父類中,有如下方法:

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

 
 
 
 
  1. class ApplicationContextAwareProcessor implements BeanPostProcessor 

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

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

到這里你應(yīng)該知道了Aware的底層原理了吧

完畢!!!


新聞標(biāo)題:Spring中Aware接口實(shí)現(xiàn)原理解析
轉(zhuǎn)載來于:http://www.dlmjj.cn/article/dpisojp.html