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

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

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

    隨筆-199  評論-203  文章-11  trackbacks-0
    一、事務管理
    事務傳播
    1、required:方法在一個事務中執行,如果調用的方法在一個事務中,則使用該事務,否則將創建一個新的事務。(必須有,有就用,沒有就建)
    2、mandatory:如果運行于事務中的客戶調用了該方法,方法在客戶的事務中執行。如果客戶沒有關聯到事務中,容器就會拋出TransactionRequiredException.(必須有,有就用,沒有報錯)
    3、requiresnew:方法將在一個新的事務中執行,如果調用的方法已經在一個事務中,則暫停舊的事務。在調用結束后恢復舊的事務。(必須有,有沒有都要建)
    4、supports:如果方法在一個事務中被調用,則使用該事務,否則不使用事務。(有沒有都中,有就用,沒有不用)
    5、not_supported:如果方法在一個事務中被調用,容器會在調用之前終止該事務。在調用結束后,容器會恢復客戶事務。如果客戶沒有關聯到一個事務中,容器不會入運行在該方法啟動一個新的事務。用notsupported屬性標識不需要事務的方法。因為事務會帶來更高的性能支出,所以這個屬性可以提高性能。(不需要,有就掛起事務,沒有直接運行)
    6、Never:如果在一個事務中調用該方法,容器會拋出RemoteException。如果客戶沒有關聯到一個事務中,容器不會在運行入該方法前啟動一個新的事務。(必須沒有,有就報錯,沒有就直接運行)
    事務隔離
    為什么要使用事物隔離,是因為事物并發引起的一些錯誤現象
    并發問題:
    臟讀:一個事務讀取了未提交的事務
    不可重復讀:同一個事務中多次讀取同一個數據返回的結果不同
    幻讀:一個事務讀取到了另一個事務已提交的insert數據。

    事務并發處理:
    共享鎖:共享鎖用于讀取數據操作,它允許其他事務同時讀取某鎖定的資源,但不允許其他事務更新它。
    排他鎖:排它鎖用于修改數據的場合。它鎖定的資源,其他事務不能讀取也不能修改。
    更新鎖:更新鎖在更新操作的初始化階段用來鎖定可能要被修改的資源,從而避免使用共享鎖造成的死鎖現象。

    事務隔離級別:
    ReadUncommitted:讀未提交數據,該選項指示數據庫讀取數據時不使用任何鎖。在這種情況下,事務可以讀取到未提交的數據,會出現臟讀,不可重復讀和幻讀現象。

    ReadCommited:
    該選項只會返回"讀取時間點"之前已提交的數據。因此可以避免臟讀,但是會出現不可重復讀,另外還會出現幻讀現象。

    RepeatableRead:該選項能夠保證可重復讀,可以避免臟讀和不可重復讀。

    Serializable:該選項能夠避免臟讀、不可重復讀和幻讀現象,是最嚴格的隔離級別。

    二、spring集成struts
    1、應用服務器沒有直接調用啟動Spring的方法,但是應用服務器編譯運行servlet,filter,listener,所以spring提供一個listener類,在服務器初始化的時候調用該類中的方法,所以在容器中配置如下:
    <!-- 指定spring的配置文件,多個文件之間用逗號分隔 -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:beans.xml</param-value>
    </context-param>
    <!-- 啟動Spring容器 -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    2、我們把我們需要交給spring管理的類在beans.xml中配置:
    如<bean name="/user/regist"
    class="cn.sun.ssh.web.action.UserManagerAction">
    <property name="dao" ref="userDAO"></property>
    </bean>
    但是action是被引擎調用的,我們如何把需要的action交給引擎呢,通過重寫struts中的requestprocessor類中的processactioncreate方法,在spring中獲得action后交給引擎管理,這也是struts的一個擴展機制。
    所以我們要在struts-config.xml中配置controller
    <controller>
    <set-property property="processorClass" value="org.springframework.web.struts.DelegatingRequestProcessor"/>
    </controller>


    三、spring集成hibernate,spring和hibernate集成主要有兩方面注意
    1、spring集成hibernate時把dao和sessionfactory交給spring管理,
    posted on 2009-06-29 17:22 Werther 閱讀(1950) 評論(1)  編輯  收藏 所屬分類: 22.Spring

    評論:
    # re: Spring總結 2009-07-01 13:26 | 找個美女做老婆
    Java高手群:Java樂園,群號:28840096 Java樂園網站:http://www.javaly.cn 歡迎Java高手加入,大家一起交流經驗,相互學習,共同進步  回復  更多評論
      

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


    網站導航:
     
    主站蜘蛛池模板: a级毛片无码免费真人| 久久久久亚洲AV成人无码 | 4444www免费看| av无码免费一区二区三区| 日韩在线视频免费看| 免费一级黄色毛片| 97久久精品亚洲中文字幕无码| 亚洲一区欧洲一区| 精品国产免费人成网站| 222www在线观看免费| 久久国产亚洲精品无码| 天堂亚洲免费视频| 国产香蕉免费精品视频| 亚洲综合av一区二区三区不卡| 国内永久免费crm系统z在线| 最近中文字幕mv免费高清电影| 亚洲中文字幕无码一久久区| 亚洲AV成人一区二区三区在线看| 久久久WWW免费人成精品| 亚洲人成网77777亚洲色| 亚洲国产成人AV网站| 91精品免费高清在线| 亚洲无线码一区二区三区| 精品一区二区三区无码免费视频| 亚洲人成人77777在线播放| 最近更新免费中文字幕大全| 亚洲国产综合久久天堂| 国产精品高清视亚洲一区二区| 在线免费观看一区二区三区| 亚洲理论片在线观看| 日本免费大黄在线观看| 中文字幕亚洲综合久久菠萝蜜| a级毛片毛片免费观看久潮| 亚洲国产亚洲片在线观看播放| 国产成人精品男人免费| 国产精品亚洲综合久久| 亚洲乱亚洲乱少妇无码| 亚洲成人在线免费观看| 免费人成在线观看播放a| 无码国模国产在线观看免费| 国产免费高清69式视频在线观看|