Java中動態(tài)代理是什么意思

2023-02-16 01:30

2個回答
舉個例子吧,比如說你暗戀一個小美女,你給她寫了個情書,你不好意思直接給她,就讓我轉(zhuǎn)給她。
我也暗戀這個小美女,我收到你的情書以后,我送你的情書之前跟小美女說你這個人人品差長得丑還沒錢,然后再把你的情書給她。
動態(tài)代理就是這個過程。本來是你和小美女之間的關(guān)系,但中間讓我轉(zhuǎn)達一下,我在轉(zhuǎn)達的前后可以干一些自己的事情。更具體的說,就是A調(diào)用B,但不直接調(diào)用,A通過調(diào)用C,C再調(diào)用B,C在調(diào)用B的前后可以做一些自己的事情,比如說打日志、權(quán)限驗證等,這樣就把業(yè)務(wù)代碼與系統(tǒng)代碼分開,同時減少了A和B之間的耦合。
動態(tài)代理的經(jīng)典應(yīng)用是Spring AOP。有興趣可以學(xué)學(xué)。
動態(tài)代理在Java中是很重要的一部分,在很多框架中都會用到
相關(guān)問答
java動態(tài)界面怎么做
1個回答2023-01-04 09:43
說詳細一點啊,哥們
為什么有人說Java是靜態(tài)語言,又說Java語言是動態(tài)的?
2個回答2023-02-03 22:10
Java需要進行編譯后運行在jvm上,所以Java是靜態(tài)語言,但是Java又可以通過接口等方式,在運行時注入相關(guān)的類的實現(xiàn),所以這個又是其動態(tài)性的提現(xiàn)
java線程有哪些狀態(tài)
2個回答2023-01-02 14:46
新生、就緒、運行、阻塞和死亡 java中,每個線程都需經(jīng)歷新生、就緒、運行、阻塞和死亡五種狀態(tài),線程從新生到死亡的狀態(tài)變化稱為生命周期。
java動態(tài)代理的疑惑
3個回答2023-02-14 22:55
動態(tài)代理你不是要寫invocationHandler的嘛,這里面你就會把問題交給真正的subject去處理
java中可不可以生成動態(tài)二維數(shù)組
4個回答2022-12-31 08:11
用ArrayList import java.util.ArrayList; .... ArrayList mylist = new ArrayList(); ... int[] mynum =...
全文
什么是java
1個回答2023-01-11 15:06
JAVA是咖啡名字。 推薦一本書(爪哇夜未眠)
java中“:”是什么意思?
4個回答2022-12-14 00:47
:在三目運算符中可以使用到,例如x=1=2?1:2表示的是如果1=2為真,則x為1如果為否,則結(jié)果為2。 如果是switch中的,是它的一種固定寫法。
什么是Java?
2個回答2022-12-21 01:07
java就是爪哇島,盛產(chǎn)咖啡。 爪哇島的咖啡的也被稱為java。 另外java也是自行車的品牌。
什么是java啊
1個回答2023-01-01 10:11
一種程序語言!
Java是什么?
1個回答2022-12-21 15:55
Java是面向?qū)ο缶幊痰囊环N編程語言