<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-16  評論-54  文章-0  trackbacks-0

    ?????? 說真的,對于spring提供AOP的功能,個人實在不敢太過于恭維。主要是Spring的AOP功能沒那么強大,而且必須是對于spring容器管理的bean才能實施AOP功能,對于容器外的bean就無能為力了。而且spring沒有提供屬性的AOP功能。在這些方面,spring AOP真的不能和Aspectj相比。Aspectj的AOP功能才真的是真正意義的AOP框架,提供的功能非常強大,幾乎可以實現(xiàn)任何類型的AOP。不過Aspectj的學(xué)習曲線相對要比spring AOP稍微陡峭一點,主要是spring AOP可以當成普通javabean來處理,而Aspectj還要另外做編譯器,比較麻煩。不過,慶幸的是,eclipse下面有Aspectj插件,開發(fā)起來也是很方便。所以一般,復(fù)雜的AOP功能,還是推薦用Aspectj

    ???? 對于一般的J2EE開發(fā)來說,要實現(xiàn)一些比較常用的AOP,Spring 還是能滿足的。比如事務(wù)、異常、日志、權(quán)限等等,在這些方面,spring AOP還是比較方便的,特別是事務(wù)處理,spring提供了相當好的集成。如果事務(wù)處理用Aspectj來實現(xiàn),不見得好多少。

    ??? 一直以來,覺得spring AOP最好用的一個地方就是提供了BeanNameAutoProxyCreator,這個類真的非常方便,以至于個人一旦遇到要實現(xiàn)AOP,首先就是求組于BeanNameAutoProxyCreator,如果BeanNameAutoProxyCreator實現(xiàn)不了,再考慮別的。不過,一般情況來說,BeanNameAutoProxyCreator的確能滿足需要了,除非你的需求真的千奇百怪。

    ???在應(yīng)用spring AOP功能時,優(yōu)先考慮用接口。因為如果用接口的話,那么spring會創(chuàng)建一個代理,并在代理里面實現(xiàn)AOP增強代碼,并調(diào)用真正的實例對象。不過,spring AOP功能不一定非要用接口,一些普通類也是可以的。對于普通類,spring會用CGLIB來動態(tài)生成一個新類。并且CGLIB會保持一個生成類的cache,因此它不會一直生成新類。spring使用ProxyCallbackFilter對象把其它對象放進map進行管理。如果沒有管理好cache,將會產(chǎn)生大量的java對象,直至出現(xiàn)OutOfMemoryErrors。因此使用springaop時,一定要正確實現(xiàn)equals and hashCode。

    ???
    不過,不管怎么樣,在應(yīng)用spring AOP時,還是優(yōu)先考慮接口方式,畢竟面向接口方式還是值得推薦的一個編程思想。

    posted on 2006-07-31 19:37 jspark 閱讀(4111) 評論(11)  編輯  收藏

    評論:
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator 2007-08-07 12:35 |
    好爛啊  回復(fù)  更多評論
      
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator 2008-10-17 09:25 | magic
    如果沒有管理好cache,將會產(chǎn)生大量的java對象,直至出現(xiàn)OutOfMemoryErrors。因此使用spring的aop時,一定要正確實現(xiàn)equals and hashCode。

    這兩句話怎么理解啊?  回復(fù)  更多評論
      
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator[未登錄] 2008-10-22 12:45 | a
    空談,裝大師  回復(fù)  更多評論
      
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator[未登錄] 2008-12-01 21:54 | me
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator 2009-07-29 17:35 | tonywangzhao
    只有文字 沒有一點的說服性 貌似說的很有利 但是需要代碼的驗證 鑒定完畢 謝謝  回復(fù)  更多評論
      
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator[未登錄] 2009-10-14 13:27 | 123
    能不能舉例說明一下啊  回復(fù)  更多評論
      
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator[未登錄] 2009-10-14 13:27 | 123
    能不能舉例說明一下  回復(fù)  更多評論
      
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator 2009-10-14 15:46 | none
    spring 的 map 是不是 weak的?
    aop難道不能singleton?
    aop一定要用在bean上?為什么不用再bean上?

    幾年過去了,樓主你睡醒了沒?  回復(fù)  更多評論
      
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator 2010-06-15 17:02 | mopishv0
    AspectJ是在編譯期或者后編譯期完成織入切面的
    當然強大了……
    Spring只是在運行期實現(xiàn)動態(tài)代理罷了
    據(jù)說他是用IoC實現(xiàn)的AOP
    不過這個帖子已經(jīng)過了很久了
    LZ找沒找到SPRING AOP的具體實現(xiàn)原理呢?
    知道的話請把原理告訴我吧
    mopishv0@163.com  回復(fù)  更多評論
      
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator 2011-10-27 10:09 | zhengb
    確實比較不知所云@我
      回復(fù)  更多評論
      
    # re: 關(guān)于Spring AOP和BeanNameAutoProxyCreator[未登錄] 2012-04-13 16:09 | 111111
    啥JB玩意兒!!  回復(fù)  更多評論
      

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产精品综合久久2007| 亚洲精品亚洲人成在线观看| 亚洲小视频在线播放| 久久99热精品免费观看动漫| 久久精品亚洲日本佐佐木明希| 亚洲免费观看视频| 亚洲一区二区电影| 黄页网站在线看免费| 亚洲综合在线一区二区三区| 女人18一级毛片免费观看| 亚洲欧洲精品成人久久曰| 日韩在线天堂免费观看| 免费国产va视频永久在线观看| 亚洲国产aⅴ综合网| 国产精品免费视频观看拍拍| 亚洲成色WWW久久网站| 人妻无码一区二区三区免费| 亚洲国产亚洲片在线观看播放| 亚洲免费综合色在线视频| 亚洲欧美日韩国产成人| vvvv99日韩精品亚洲| 三上悠亚电影全集免费| 亚洲色图综合网站| 国产资源免费观看| caoporm超免费公开视频| 亚洲AV第一页国产精品| 毛片高清视频在线看免费观看| 色综合久久精品亚洲国产| 日韩亚洲变态另类中文| 精品无码国产污污污免费网站| 亚洲欧美国产精品专区久久| 亚洲国产综合久久天堂| 一级毛片免费观看| 亚洲AV成人无码久久WWW| 亚洲成色在线综合网站| 日本成人在线免费观看| 永久免费不卡在线观看黄网站| 亚洲а∨天堂久久精品9966| 亚洲人成色7777在线观看不卡| 久视频精品免费观看99| 免费精品久久久久久中文字幕|