我不知道在春天使用代理的意思。什麼是有效的?在spring框架中使用代理(動態代理)是什麼意思?
回答
dynamic proxy是JDK的一項功能。它可以用來實現使用an invocation handler的接口。
的動態代理類(簡稱 到如下的代理類)是一類 當類是 創建的,以行爲如下所述 實現在運行時指定的接口 列表。代理接口是由 代理類實現的接口。代理實例是代理類的一個 實例。每個代理 實例都有一個關聯的調用 處理程序對象,該對象實現了接口InvocationHandler。
動態代理有一些開銷。儘管如此,對於大多數使用情況來說,開銷不會很大。真正的問題是動態代理的(過度)使用會使應用程序難以理解和調試。例如,動態代理將在堆棧跟蹤中顯示多行。
動態代理通常用於實現decorators。其中一個例子是Spring的AOP。 (我不想詳述AOP,並且不會使用AOP術語來保持簡單)。某些問題在某一類中實施並在許多地方使用。動態代理(和調用處理程序)只是粘合代碼(由Spring提供)攔截方法調用。 (實際上,動態代理只是這種功能的實現細節,動態生成類是實現它的另一種可能性。)
我們爲什麼要實現?我想問一下關於Methology或相同的東西 – Linh 2010-02-09 09:10:52
代理使用AOP。總之:
通常你有。
Caller --> Real object
但是,當,例如,你想自動事務管理,春天把你的真實對象
Caller --> Proxy --> Real object
在代理啓動事務的代理。
Here is nice article說明代理的兩個要素,他們在彈簧效率(性能)
Bozho,這是一個非常好的解釋。 – lwpro2 2011-01-20 03:31:00
下一個問題 - 爲什麼春天需要使用aop?我只知道@Transaction註釋 – gstackoverflow 2015-11-09 22:17:38
很多其他的東西。例如,緩存。日誌記錄。審計跟蹤。或者任何你可以發展自己的東西 – Bozho 2015-11-14 21:23:21
我們可以通過修改源/字節碼或通過使用子類或代理中嵌入的附加功能添加到Java類中的功能性和將調用委託給基礎對象。
AOP也可以使用CGLIB代理。這用於代替類而不是接口。
其他答案是好的,但這是我如何以非常簡單的方式來想到它。
- 註解的意思是「爲額外行爲添加隱藏代碼」。例如,框架(或任何知道註解的含義)在運行時添加字節碼,Spring,編譯時添加AspectJ。
- 它將代碼作爲代理與攔截器一起添加。 (一個包裝器,裝飾器,適配器是類似的,比「代理」可能更容易理解)。你編碼的類,它「包裝」。
- 1. 框架是什麼意思?
- 2. 是什麼意思?=在僞代碼中使用時的意思?
- 3. 在「SQL Server代理上下文中,」pager「是什麼意思?
- 4. 代碼是什麼意思?
- 5. 是什麼代碼是什麼意思?
- 6. 0x0F是什麼意思?這個代碼是什麼意思?
- 7. 在Spring MVC的requestmapping處理方法中,{id:。+}是什麼意思?
- 8. 什麼是動態代理類,爲什麼要使用它?
- 9. 在用戶代理字符串中,「KHTML,像是壁虎」是什麼意思?
- 10. Python:set()中的理解是什麼意思?
- 11. 「框架」實際上是什麼意思?
- 12. 某些Domino代理上的小「6」是什麼意思?
- 13. 這個代碼中'$'是什麼意思?
- 14. E6A是什麼意思在fortran代碼
- 15. 在Android的HTTP用戶代理標題中,「U」是什麼意思?
- 16. 什麼是「render._keywords ['globals'] ['render'] =渲染」在web.py框架代碼中的意思?
- 17. 什麼是「=!」在下面的PHP代碼中是什麼意思?
- 18. 啓動狀態78是什麼意思?爲什麼我的用戶代理不運行?
- 19. 什麼意思?在c代碼的意思是
- 20. html代表什麼意思
- 21. method_name(*)代表什麼意思?
- 22. class.class代表什麼意思
- 23. 「CODE」代表什麼意思?
- 24. '處理事件'是什麼意思?
- 25. win8框架代理
- 26. 什麼意思};在Java代碼中
- 27. 什麼意思!在代碼中?
- 28. 什麼是用戶代理?
- 29. 管理擴展性框架中的導出更改是什麼意思?
- 30. 這段代碼是什麼意思...?
你是什麼意思「什麼是有效的?」 – skaffman 2010-02-09 09:54:16