天天看點

Spring之JDK動态代理

首先講一下JDK動态代理和CGLib的差別(面試常問!!!)

JDK :  在運作,在JVM内部動态生成class位元組碼對象(Class對象)

Jdk動态代理隻針對于接口操作

cglib它可以為沒有實作接口的類去做代理,也可以為實作接口的類去做代理。

接下來正式進入到JDK動态代理實作代碼中!!

第一步..我們首先建立一個web工程.這一步我就不截圖了...

第二步 建立一個interface接口

Spring之JDK動态代理

第三步實作上面這個UserService接口

Spring之JDK動态代理

接下來我們在編寫我們的動态代理工具類

Spring之JDK動态代理
Spring之JDK動态代理

這樣我們的動态代理工具類就已經完成了..接下來就是測試了.建立一個測試類

Spring之JDK動态代理

測試結果

Spring之JDK動态代理

他會在業務處理前去做一些增強工作...可以用在spring中的aop,做面向切面程式設計..例如日志操作,事務管理,性能統計,安全控制等等.....

代碼有任何問題的,可以在下面留言.LZ會看到後更改!!