- Spring Boot進(jìn)階:原理、實(shí)戰(zhàn)與面試題分析
- 鄭天民
- 375字
- 2022-07-05 09:41:51
3.6 本章小結(jié)
本章系統(tǒng)分析了Spring所提供的AOP設(shè)計(jì)思想和實(shí)現(xiàn)方案。在使用Spring開發(fā)應(yīng)用程序的過程中,AOP是一項(xiàng)基礎(chǔ)功能,可以說是無處不在。我們?cè)敿?xì)描述了Spring AOP中的核心概念,并通過一個(gè)完整案例提供對(duì)應(yīng)的使用方法。
AOP的底層實(shí)現(xiàn)依賴于動(dòng)態(tài)代理,Spring也為開發(fā)人員提供了兩種可選的代理機(jī)制,即JDK動(dòng)態(tài)代理和CGLIB動(dòng)態(tài)代理。不同的代理機(jī)制具有不同的性能表現(xiàn),本章通過一個(gè)案例量化分析了引入不同代理機(jī)制對(duì)系統(tǒng)性能造成的影響。通過案例分析,我們明確了使用JDK動(dòng)態(tài)代理能夠提供更好的性能,這也是本書所推薦的代理機(jī)制。
同時(shí),在使用Spring AOP的過程中,我們也總結(jié)了一些最佳實(shí)踐。Spring AOP中的切點(diǎn)表達(dá)式非常強(qiáng)大,可以通過在空方法上聲明切點(diǎn)以及盡量聲明小的切點(diǎn)等開發(fā)技巧來滿足不同應(yīng)用場(chǎng)景下的切點(diǎn)管理需求。而因?yàn)镾pring使用了代理機(jī)制來實(shí)現(xiàn)AOP,但代理的目標(biāo)不能是類內(nèi)方法,所以可以使用Spring為我們提供的AopContext工具類解決這個(gè)問題。
推薦閱讀
- 手機(jī)安全和可信應(yīng)用開發(fā)指南:TrustZone與OP-TEE技術(shù)詳解
- .NET之美:.NET關(guān)鍵技術(shù)深入解析
- Visual C++程序設(shè)計(jì)學(xué)習(xí)筆記
- Docker進(jìn)階與實(shí)戰(zhàn)
- Building a Recommendation Engine with Scala
- 名師講壇:Spring實(shí)戰(zhàn)開發(fā)(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- Learning Apache Mahout Classification
- concrete5 Cookbook
- Android底層接口與驅(qū)動(dòng)開發(fā)技術(shù)詳解
- Learning Python Design Patterns
- Instant Ext.NET Application Development
- 單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例
- Kotlin開發(fā)教程(全2冊(cè))
- 平面設(shè)計(jì)經(jīng)典案例教程:CorelDRAW X6
- IoT Projects with Bluetooth Low Energy