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

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

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

    魔獸傳奇

    java程序愛好者
    posts - 28, comments - 16, trackbacks - 0, articles - 6
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    工作原理
    1.         讀取并解析配置文件
    2.         讀取并解析映射信息,創(chuàng)建SessionFactory
    3.         打開Sesssion
    4.         創(chuàng)建事務(wù)Transation
    5.         持久化操作
    6.         提交事務(wù)
    7.         關(guān)閉Session
    8.         關(guān)閉SesstionFactory 

    為什么要用:

     1.    對JDBC訪問數(shù)據(jù)庫的代碼做了封裝,大大簡化了數(shù)據(jù)訪問層繁瑣的重復(fù)性代碼。
    2.    Hibernate是一個基于JDBC的主流持久化框架,是一個優(yōu)秀的ORM實現(xiàn)。他很大程度的簡化DAO層的編碼工作
    3.    hibernate使用Java反射機(jī)制,而不是字節(jié)碼增強(qiáng)程序來實現(xiàn)透明性。
    4.    hibernate的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。它支持各種關(guān)系數(shù)據(jù)庫,從一對一到多對多的各種復(fù)雜關(guān)系。
     

    2.   Hibernate是如何延遲加載?
    1.         Hibernate2延遲加載實現(xiàn):a)實體對象  b)集合(Collection)
    2.         Hibernate3 提供了屬性的延遲加載功能

    當(dāng)Hibernate在查詢數(shù)據(jù)的時候,數(shù)據(jù)并沒有存在與內(nèi)存中,當(dāng)程序真正對數(shù)據(jù)的操作時,對象才存在與內(nèi)存中,就實現(xiàn)了延遲加載,他節(jié)省了服務(wù)器的內(nèi)存開銷,從而提高了服務(wù)器的性能。

    3.   Hibernate中怎樣實現(xiàn)類之間的關(guān)系?(如:一對多、多對多的關(guān)系)

    類與類之間的關(guān)系主要體現(xiàn)在表與表之間的關(guān)系進(jìn)行操作,它們都市對對象進(jìn)行操作,我們程序中把所有的表與類都映射在一起,它們通過配置文件中的many-to-one、one-to-many、many-to-many、

    4.   說下Hibernate的緩存機(jī)制

    1.         內(nèi)部緩存存在Hibernate中又叫一級緩存,屬于應(yīng)用事物級緩存

    2.         二級緩存:

    a)         應(yīng)用及緩存

    b)        分布式緩存

    條件:數(shù)據(jù)不會被第三方修改、數(shù)據(jù)大小在可接受范圍、數(shù)據(jù)更新頻率低、同一數(shù)據(jù)被系統(tǒng)頻繁使用、非              關(guān)鍵數(shù)據(jù)

    c)  第三方緩存的實現(xiàn)

     6.   如何優(yōu)化Hibernate

     2.         靈活使用單向一對多關(guān)聯(lián)
    3.         不用一對一,用多對一取代
    4.         配置對象緩存,不使用集合緩存
    5.         一對多集合使用Bag,多對多集合使用Set
    6.         繼承類使用顯式多態(tài)
    7.         表字段要少,表關(guān)聯(lián)不要怕多,有二級緩存撐腰



     spring工作機(jī)制及為什么要用?

     

    1.spring mvc請所有的請求都提交給DispatcherServlet,它會委托應(yīng)用系統(tǒng)的其他模塊負(fù)責(zé)負(fù)責(zé)對請求進(jìn)行真正的處理工作。

    2.DispatcherServlet查詢一個或多個HandlerMapping,找到處理請求的Controller.

    3.DispatcherServlet請請求提交到目標(biāo)Controller

    4.Controller進(jìn)行業(yè)務(wù)邏輯處理后,會返回一個ModelAndView

    5.Dispathcher查詢一個或多個ViewResolver視圖解析器,找到ModelAndView對象指定的視圖對象

    6.視圖對象負(fù)責(zé)渲染返回給客戶端。

    為什么用:

    {AOP 讓開發(fā)人員可以創(chuàng)建非行為性的關(guān)注點,稱為橫切關(guān)注點,并將它們插入到應(yīng)用程序代碼中。使用 AOP 后,公共服務(wù)   (比如日志、持久性、事務(wù)等)就可以分解成方面并應(yīng)用到域?qū)ο笊?,同時不會增加域?qū)ο蟮膶ο竽P偷膹?fù)雜性。

                   IOC 允許創(chuàng)建一個可以構(gòu)造對象的應(yīng)用環(huán)境,然后向這些對象傳遞它們的協(xié)作對象。正如單詞 倒置 所表明的,IOC 就像反      過來的 JNDI。沒有使用一堆抽象工廠、服務(wù)定位器、單元素(singleton)和直接構(gòu)造(straight construction),每一個對象都是用     其協(xié)作對象構(gòu)造的。因此是由容器管理協(xié)作對象(collaborator)。

    Spring即使一個AOP框架,也是一IOC容器。 Spring 最好的地方是它有助于您替換對象。有了 Spring,只要用 JavaBean 屬性和配置文件加入依賴性(協(xié)作對象)。然后可以很容易地在需要時替換具有類似接口的協(xié)作對象。}


    評論

    # re: Hibernate學(xué)習(xí)筆記2-工作原理  回復(fù)  更多評論   

    2011-02-17 15:27 by gege
    確實很好

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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久久久久久亚洲Av无码 | 少妇性饥渴无码A区免费 | 日本特黄特色aa大片免费| 亚洲理论精品午夜电影| 日韩电影免费观看| 亚洲A∨无码无在线观看| 91视频免费观看| 亚洲色大成网站www永久一区| 成人无码视频97免费| 亚洲中文字幕在线观看| 花蝴蝶免费视频在线观看高清版 | 无码天堂va亚洲va在线va| 免费国产成人午夜电影| 亚洲AV成人精品日韩一区| 免费人成在线观看网站品爱网日本| 国产亚洲日韩在线a不卡| 亚洲国产精品成人网址天堂| 97在线免费视频| 色噜噜综合亚洲av中文无码| 野花高清在线观看免费3中文| 亚洲AV无码精品国产成人| 无码欧精品亚洲日韩一区夜夜嗨| 国产免费久久精品丫丫| 亚洲国产精品第一区二区| 国产成在线观看免费视频| 亚洲精品第一国产综合亚AV| 国产a v无码专区亚洲av| 国产一精品一AV一免费| 亚洲中字慕日产2020| 又爽又黄无遮挡高清免费视频| 两个人日本WWW免费版| 亚洲H在线播放在线观看H| 免费看国产一级片| 91视频免费网站| 亚洲一区二区三区写真| 精品国产亚洲男女在线线电影 | 最近中文字幕完整版免费高清 | 成在人线av无码免费高潮水| 亚洲无圣光一区二区| 免费A级毛片无码久久版| 成人无码a级毛片免费|