无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

面試記錄:IOC 與 AOP

2022-09-29 09:54 作者:喜歡安靜の泡面君  | 我要投稿

什么是ioc,ioc 的好處?

ioc(Inverse of Control:控制反轉(zhuǎn)) ,一種設(shè)計思想, 將原本在程序中手動創(chuàng)建對象的控制權(quán),交由 spring 框架來管理。ioc 在不同的語言有不同的實現(xiàn)。
所謂控制反轉(zhuǎn),意為將在程序中創(chuàng)建對象的控制權(quán)轉(zhuǎn)移到 ioc 容器,調(diào)用者只需要在使用時從 ioc 容器中取出,如果一個工具對象的創(chuàng)建過程需要的依賴多,創(chuàng)建過程繁瑣,使用 ioc 提前配置好對象即可極大的簡化開發(fā),還能達(dá)到一個解耦合的效果。
在 spring 中,ioc 容器實際上是個 Map ,Map 中存放各種對象。早期的 spring 框架需要使用 xml 進(jìn)行對象的配置

AOP

aop(Aspect-Oriented Programming) 面向切面的編程,將與業(yè)務(wù)無關(guān),卻要跟業(yè)務(wù)方法共同調(diào)用的邏輯或責(zé)任(事物,日志),進(jìn)行封裝,用增強的形式添加到業(yè)務(wù)方法,我們不需要去變動業(yè)務(wù)方法本身就可以執(zhí)行這些邏輯。
在 spring 中使用 aop 可以用 Spring AOP 或 AspectJ。

AOP 術(shù)語

  • 目標(biāo) Target:被通知的對象

  • 代理 Porxy:向目標(biāo)對象通知后生成的代理對象

  • 連接點 JoinPoint:目標(biāo)對象所屬的類中定義的方法

  • 切入點 PointCut:被攔截/增強的連接點

  • 通知 Advice:增強的邏輯/代碼

  • 切面 ?Aspect:切入點和通知(已經(jīng)切入連接點的通知)

  • 織入 ?Weaving:將通知應(yīng)用到目標(biāo)對象,進(jìn)而生成代理對象的過程動作

Spring AOP 和 AspectJ AOP

Spring AOP 是運行時增強, 于 JDK 動態(tài)代理(JDK Proxy),AspectJ 則是編譯時增強,是字節(jié)碼操作。
有大量 AOP 操作時,建議使用 AspectJ,性能要強一些。

AspectJ 的通知類型

  • Before 前置

  • After 后置

  • BeforeReturning 返回

  • AfterThrowing 異常

  • Around 環(huán)繞


可以使用 @Order 注解規(guī)定切面的執(zhí)行順序,參數(shù)越小有限度越高,繼承 Order 接口實現(xiàn) getOrder()方法也有同樣效果。實際上,@Order 的作用是定義Spring 容器中加載 Bean 的順序。


面試記錄:IOC 與 AOP的評論 (共 條)

分享到微博請遵守國家法律
汪清县| 津南区| 德保县| 随州市| 唐海县| 托克逊县| 通化市| 德清县| 永德县| 宜兴市| 镇雄县| 淄博市| 甘肃省| 平度市| 武川县| 彝良县| 台湾省| 定兴县| 乐平市| 临夏县| 正阳县| 拜城县| 天津市| 青浦区| 汶川县| 淄博市| 清涧县| 永嘉县| 双牌县| 凉山| 驻马店市| 龙南县| 潞西市| 洛川县| 霍林郭勒市| 体育| 灵璧县| 古蔺县| 永年县| 南康市| 长宁县|