1.jdk動態代理
基於接口的動態代理
提供者:JDK官方的Proxy類。
要求:被代理類最少實現一個接口。
代碼實現:
1.先創建一個接口UserDao,並創建2個方法save方法和delete方法
2.為接口創建實現類UserDaoImpl,並實現接口中的方法
3.創建代理類JdkProxy實現InvocationHandler接口,並在代理類中創建代理方法creatProxy方法
4.創建測試方法
2.Cglib代理
基於子類的動態代理
提供者:第三方的CGLib,如果報asmxxxx異常,需要導入asm.jar。
要求:被代理類不能用final修飾的類(最終類)。
代碼實現:
1.先創建一個類CustomerDao,並創建2個方法save方法和delete方法
2.為CustomerDao創建代理類CglibProxy實現MethodInterceptor接口,並在代理類中創建代理方法creatProxy方法
4.創建測試方法
2.問題解答
這裡邊的底層原理需要大家深刻理解
有什麼不懂的可以留言評論,大家一起討論學習。
好了,這次教程到這裡就結束了!
謝謝大家支持!
閱讀更多 優質資源分享 的文章