五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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的評論 (共 條)

分享到微博請遵守國家法律
桑日县| 昌江| 津南区| 庄浪县| 前郭尔| 杭锦旗| 四子王旗| 河北省| 陇南市| 盐津县| 永川市| 泗阳县| 竹北市| 米林县| 隆安县| 大姚县| 远安县| 盱眙县| 青浦区| 双桥区| 德州市| 沧州市| 南丹县| 鄂伦春自治旗| 巫溪县| 铁力市| 武强县| 遂宁市| 阜新市| 雷州市| 清镇市| 蛟河市| 贺州市| 富蕴县| 泗洪县| 淮安市| 文化| 同心县| 方山县| 金寨县| 环江|