指定另一個主體代替原來的某個主體去執行某個事物java
代理執行的人
須要代理的人
須要代理的事情是必定要作的
可是被代理的人沒有時間或本身作的不專業代理
靜態代理: 父母朋友幫忙物色找對象
代理人掌握需求,專門爲一我的服務對象
動態代理:媒婆,婚介所:專業介紹, 不限制你的要求,只是儘可能匹配接口
運行時肯定的被代理對象的機制開發
AOP,沒有任何限制,只要是個java類,就能夠代理,配置結合反射io
JDK Proxy 被代理的類實現 InvocationHandler接口
Cglib 不須要任何依賴實現,底層原理是經過生成一個動態的類,而後把這個動態的類做爲一個被代理類的一個子類,這個子類擁有父類的引用,因此能達到一個動態代理的效果,下降了開發人員的要求,不須要任何實現。原理