今天大致復習了下AOP,趕緊記下來要點疯潭,以后看下自己就記住了。
1.什么是AOP面殖?
概念太生澀難懂竖哩,直接畫個圖。
簡單粗暴脊僚,就是你的業(yè)務(wù)邏輯正在執(zhí)行相叁,咔嚓,你要給多個業(yè)務(wù)邏輯添加共同的處理邏輯辽幌,把這個面橫切出來增淹。
2.應(yīng)用?
權(quán)限檢查乌企,日志記錄虑润,性能分析,審計加酵,事務(wù)管理拳喻,凡是可以加入切面的分布在各個方法里面的代碼可以組織到一起的都可以用AOP面向切面編程哭当。
3.怎么實現(xiàn)?
對于實現(xiàn)了接口的冗澈,Proxy+invocationHandler實現(xiàn)钦勘,proxy的newInstance方法可以傳參數(shù),具體實現(xiàn)是通過動態(tài)編譯和反射機制亚亲,產(chǎn)生一個實現(xiàn)了對應(yīng)接口的代理Proxy彻采,然后去執(zhí)行。
對于沒有實現(xiàn)接口的捌归,可以使用CGLib和javassist來直接操作二進制碼來實現(xiàn)
4.怎么用肛响?
聲明式事務(wù)管理,分為Annotation和xml兩種方式
嗯大概就是粗略說一下陨溅,當然細節(jié)還有很多终惑,在筆記本上,就當是一個復習思路記錄吧门扇。