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

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

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

    OMG,到底在尋找什么..................
    (構(gòu)造一個完美的J2EE系統(tǒng)所需要的完整知識體系)
    posts - 198,  comments - 37,  trackbacks - 0
    在上一篇文章里說到,我們對UserManagerImpl類所有的方法進(jìn)行了spring事物控制,而UserManagerImpl實現(xiàn)了UserManager接口,也許有人會說我的業(yè)務(wù)邏輯又不經(jīng)常改變,為何還要多寫這么一個接口,這不是很麻煩,接口的目的就是為了以后擴(kuò)充業(yè)務(wù)邏輯而準(zhǔn)備的,單改變業(yè)務(wù)邏輯的時候我重新實現(xiàn)一下這個接口,而不必要去動原有的實現(xiàn)類,而前期我業(yè)務(wù)邏輯很簡單,不會變化,為了達(dá)到敏捷編程,前期設(shè)計我想盡量保持簡單,這樣不好嗎?確實,前期盡量簡單后期再進(jìn)行重構(gòu),思想是不錯,但由于spring的事物管理機(jī)制要么是基于AOP,或者CGLIB,要么是aspectJ,但這些技術(shù)都是基于代理技術(shù)實現(xiàn),也就是說他們會拿其中某個類做為代理,然后返回一個代理對象,而當(dāng)你的具有容器托管的業(yè)務(wù)邏輯類在沒有接口的情況下,spring會把具體的實現(xiàn)類做為代理來實現(xiàn)事物管理,在這種情況下,當(dāng)你在客戶端代碼里用:
    UserManager userManager = (UserManager)ServiceLocator.getService("userManager");的時候會報java.lang.ClassCastException錯誤,因為這樣得到對象不是UserManager的實現(xiàn),而是spring返回一個形如:$Proxy這樣的代理對象,所以你就不能對它進(jìn)行操作,怎么辦,無奈,你別無選擇,你只能為UserManagerImpl類建立一個接口,然后實現(xiàn)這個接口,那么spring就會用UserManager這個接口來做為代理,而不是UserManagerImpl來做為代理了,所以這就是為什么有事物控制時一定要有接口的原因!
    ?
    其時在hibernate里,如果要用spring的基于aspectJ的AOP技術(shù)來進(jìn)行事物控制的話,你的pojo對象最好不要有基類,也就是說最好不要有以下的形式出現(xiàn)POJO類:
    public class User extends Entity {
    }
    如果是這樣的話,加載spring上下文的時候會出現(xiàn)Entity類找不到的情況,具體是什么原因,還在分析中,所以當(dāng)你在基類的POJO對象時,最好不要用基于aspectJ的AOP技術(shù)來實現(xiàn)事物管理!

    原貼地址:http://arden.javaeye.com/blog/30296
    posted on 2006-10-26 22:51 OMG 閱讀(1053) 評論(0)  編輯  收藏 所屬分類: Spring

    <2006年10月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    IT風(fēng)云人物

    文檔

    朋友

    相冊

    經(jīng)典網(wǎng)站

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 直接进入免费看黄的网站| 亚洲国产精品成人综合色在线婷婷 | 香蕉视频免费在线| 成人毛片免费观看视频| 国产成人精品日本亚洲专区6| jjizz全部免费看片| 亚洲精品视频在线免费| 一二三四在线观看免费高清中文在线观看 | 亚洲第一页中文字幕| 中文字幕视频免费| 97久久国产亚洲精品超碰热| 亚洲欧洲免费无码| 亚洲欧美日韩中文字幕一区二区三区| 毛色毛片免费观看| 久久精品亚洲日本波多野结衣| 免费a级毛片在线观看| 亚洲免费视频一区二区三区| 久久亚洲国产精品一区二区| 一区二区三区福利视频免费观看| 亚洲男人天堂影院| 在线不卡免费视频| 一个人看的免费视频www在线高清动漫 | 五月亭亭免费高清在线| 亚洲色偷精品一区二区三区| 四虎影视永久免费观看| 黄色视屏在线免费播放| 无码专区—VA亚洲V天堂| 青青青国产在线观看免费网站| 久久无码av亚洲精品色午夜 | caoporn成人免费公开| 亚洲国产综合专区在线电影| 免费精品人在线二线三线区别| 免费很黄无遮挡的视频毛片| 亚洲av无码一区二区乱子伦as| 国产免费久久精品99re丫y| 日韩免费高清一级毛片| 亚洲成人免费在线| 国产中文字幕免费观看| 日本免费一区二区久久人人澡| 亚洲国产精品综合久久20| 亚洲午夜无码AV毛片久久|