關於spring中propagation註解的問題

2021-07-06 05:34:57 字數 1269 閱讀 3034

編寫業務邏輯方法

* 繼承hibernatedaosupport類,使用hibernatetemplate類持久化,hibernatetemplate

是hibernate session的封裝

* 預設的回滾是runtime

exception(包括繼承runtimeexception的子類),普通異常不回滾

* 在編寫業務邏輯方法時,最好將異常一直往上丟擲,在呈現層處理(str

uts)

* spring的事務需要設定到業務方法上(事務邊界定義到facade類上),不要新增到dao上

3、了解事務的集中傳播忒性

1、propagation_required:如果存在乙個事務,則支援當前事務。如果沒有事務則開啟。

2、propagation_supports:如果存在乙個事務,支援當前事務。如果沒有事務,則非事務的執行。

3、propagation_mandatory:如果已經存在乙個事務,支援當前事務。如果沒有乙個活動的事務,則丟擲異常。

4、propagation_requires_new:總是開啟乙個新的事務。如果乙個事務存在,則將這個存在的事務掛起。

5、propagation_not_supported:總是非事務地執行,並掛起任何存在的事務。

6、propagation_never:總是非事務地執行,如果存在乙個活動事務,則丟擲異常。

7、 propagation_nested:如果乙個活動的事務存在,則執行在乙個巢狀的事務中,如果沒有活動事務,則按transactiondefinition.propagation_required屬性執行

spring事務的隔離級別

1、 isolation_default: 這是乙個platfromtransactionmanag

er預設的隔離級別,使用資料庫預設的事務隔離級別。

2、isolation_read_uncommitted:這是事務最低的隔離級別,它允許另外乙個事務可以看到這個事務未提交的資料。

3、isolation_read_committed:保證乙個事務修改的資料提交後才能被另外乙個事務讀取。另外乙個事務不能讀取該事務未提交的資料。

4、isolation_repeatalbe_read: 這種事務隔離級別可以防止髒讀,不可重複讀。但是可能出現幻想讀。它除了保證乙個事務不能讀取另外乙個事務未提交的資料外,還保證了避免下面的情況產生(不可重複讀)。

5、isolation_serializable 這是花費最高代價但是最可靠的事務隔離級別。事務被處理為順序執行。除了防止髒讀,不課重複讀外,還避免了幻想讀。

關於Spring中dataSource的配置

1。一般的配置方法,直接在配置中指定其值。具體的例子我們參照mysql的配置如下 com.mysql.jdbc.driver jdbc mysql service path 3306 database 2.通過讀取檔案資訊資源,其原理與方法一相同。示例 web inf files.propertie...

Spring中關於xml自動裝配

前言 自動裝配是指根據指定裝配規則 屬性名稱或者屬性型別 spring自動將匹配的屬性值進行注入 bean 標籤屬性 autowire,配置自動裝配 autowire 屬性常用兩個值 1.根據屬性名稱自動注入 xml配置檔案 xmlns xmlns xsi xsi schemalocation sp...

Spring中關於Setter方法注入的理解

setter注入 最常用的注入方法,需要在xml配置檔案中進行手動的配置 要求 物件中的每個屬性必須有setter方法 如何配置 需要為物件的每乙個屬性配置乙個property標籤 如何給屬性注入值,需要先確定屬性的型別 1.簡單資料型別 value賦值 2.引用資料型別 ref賦值 3.集合資料型...