Spring事物注意事項

2021-09-07 17:20:13 字數 598 閱讀 1453

一、盡量用註解宣告事務

過去開發喜歡用tx:advice+aop命名空間方式來配置事務,一次配置對滿足切點規則的方法永久生效。但也可能因此導致事務濫用,在不需要用到事務的地方用了會影響系統的併發效能。通過註解方式宣告事務更容易引起開發注意,知道當前方法是事務方法。不是所有的方法都要事務,如只有一條修改操作(一條增刪改sql語句)或唯讀操作不需要事務控制。並且要注意盡量讓事務的方法執行時間短,不要在其中穿插其它rcp、http網路操作,若需要可將其剝離到事務方法外部。

二、方法不用事務和唯讀型事務的區別

唯讀型事務可保證事務內的查詢操作時開啟事務時間點資料庫的內容,而不用事務方法中查詢的內容是當前時間點資料庫的內容,從而可能導致不可重複讀等問題(注意與事務的隔離性有關係,隔離性為預設的讀提交時無法避免不可重複讀問題)。

三、spring aop方法事務可能會失效

spring通過aop**實現事務,所以要求某個方法事務起作用必須要從外部其它bean物件中呼叫才行,被自身bean方法呼叫的話事務不起作用。

比如bean物件中有a,b兩個事務方法,在a方法內呼叫b時,會導致b的事務失效。

spring 配置注意事項

1 springmvc的servlet的配置中 和 有什麼區別 是攔截了所有的請求,包括視 析後跳轉的.jsp頁面,則不會攔截視 析後的jsp頁面。2 的作用是什麼 是乙個預設的servlet,主要作用去找靜態的資源。總結一下就是 servlet在找頁面時,走的是dispatcherservlet路...

Spring的誤區使用注意事項

1 order對自定義的普通bean無控制順序的作用 已知有用的場景 2 autoconfigureorder在當前工程去指定 configuration順序也沒有,這個一般是當前專案讀取三方依賴,比如spring.factories中定義的 configuration的載入順序 3 配置的優先順序...

spring使用反射的注意事項

在spring框架下使用反射的時候,我們需要注意一點,也是我最近遇到的乙個問題,那就是如果反射的那個類中有注入bean例項的話,使用普通方式的反射會有問題。定義乙個類 service example transactional rollbackfor exception.class public c...