spring學習總結 第四講

2021-07-13 21:48:50 字數 2375 閱讀 5908

1、啟用spring快取:

在配置檔案中匯入cache:命名空間。

新增配置:針對不同的快取實現配置對應的快取管理器。

2、ehcache的使用,新增jar包,然後配置ehcache.xml。配置beans.xml快取區。

3、類級別:使用@cacheable執行快取:@cacheable(value = 「users」)

修飾類時,可控制spring在類級別進行快取,當程式呼叫該類的任意方法時,只要傳入的引數相同,spring就會使用快取。(只要引數相同,方法不同也使用快取)

此處快取的意義是:當程式第一次呼叫該類的例項的某個方法時,spring快取機制會將該方法返回的資料放入指定的快取區——就是value屬性指定的快取區。

4、類級別的快取預設以所有的方法引數作為key來快取方法返回的資料,同乙個類不管呼叫哪個方法,只要呼叫方法的引數相同,spring就會直接使用快取區中的資料。

5、當然我們可以指定@cacheable的屬性:

value:必需屬性。可指定多個快取區的名字,將返回值放入指定的快取區。

key:通過spel表示式顯示指定快取的key。

condition:指定乙個返回boolean值的spel表示式,只有當表示式返回true時,spring才會快取方法返回值。

unless:指定乙個返回boolean值的spel表示式,只有當表示式返回true時,spring就不會快取方法返回值。

6、方法級別的快取:使用@cacheable執行快取:@cacheable(value = 「users」)

如果乙個類中的兩個方法指定的快取區不一樣,那麼即使引數相同,也不會使用快取。

否則,將會使用快取。

7、清除快取:@cacheevict

value:必需屬性。用於指定清除哪個快取區。

key:通過spel表示式顯示指定快取的key。

condition:指定乙個返回boolean值的spel表示式,只有當表示式返回true時,spring才會清除快取。

allentries:指定是否清空整個快取區。\beforeinvocaion:指定是否在執行方法之前清除快取。預設是方法完成之後清除。

8、spring事務:spring的事務策略是通過platformtransactionmanager介面體現的,該介面時spring事務策略的核心。提供了三個抽象方法,並且都丟擲異常transactionexception:

transactionstatus gettransaction(transactiondefinition definition)//平台無關的獲得事務的方法

void commit(transactionstatus status)//平台無關的事務提交的方法

void rollback(transactionstatus status)//平台無關的事務回滾的方法

9、spring的事務機制是一種典型的策略模式,它只代表介面,不知道底層的具體管理事務過程。

10、transactiondefinition 介面定義了乙個事務規則:

事務隔離:當前事務與其他事務的隔離程度。

事務傳播:在事務中執行的**都會在當前事務中執行。

事務超時:事務在超時之前能執行多久。

唯讀狀態:唯讀事務不修改資料。

11、transactionstatus 代表了事務本身,它提供了簡單的控制事務執行和查詢事務狀態的方法,這些方法在所有api中都是相同的。

boolean isnewtransaction()//判斷事務是否為新建的事務

void setrollbackonly()//設定事務回滾

boolean isrollbackonly()//查詢事務是否已有回滾標誌

12、使用@transactional

該註解可以用於修飾spring bean類,也可以修飾bean類中的某個方法。

修飾類時,表示事務設定對整個bean類起作用;修飾方法時,表示事務設定對該方法起作用。

屬性有:

isolation:用於指定事務的隔離級別。預設為底層事務的隔離級別。

norollbackfor:指定遇到特定異常時強制不回滾事務。

norollbackforclassname:指定遇到特定的多個異常時強制不回滾事務。

propagation:指定事務傳播行為。

readonly:指定事務是否唯讀。

rollbackfor:指定遇到特定異常時強制回滾事務。

rollbackforclassname:指定遇到特定的多個異常時強制回滾事務。

timeout:指定事務的超時時長。

可以訪問我的個人**:檢視關於spring系列的gitbook形式的文件。

Python學習第四講

運算子比較運算子 邏輯運算子 split 分割字串 例 split 點前面一般是變數,括號內是分割的字元 join 拼接字串 例 join 點前面是拼接的字元 一般用變數形式 括號內是變數 strip 左右兩邊去空格 lstrip 左邊去空格 rstrip 右邊去空格 字串內建方法的表示 含義spl...

視覺SLAM十四講第四講

主要目標 理解李群與李代數的概念,掌握 so 3 se 3 與對應李代數的表示方式。理解 bch 近似的意義。學會在李代數上的擾動模型。使用 sophus 對李代數進行運算。旋轉矩陣自身是帶有約束的 正交且行列式為 1 它們作為優化變數時,會引入額外的約束,使優化變得困難。通過李群 李代數間的轉換關...

第四講 Xpath語法

一 什麼是 xml 二 xml 和 html 的區別 名詞解釋 與html對應,需要自己命名,標籤嚴格閉合 即上下對應 三 xml的節點關係 參考html的節點關係 xpath xml path language 是一門在 xml 文件中查詢資訊的語言,可用來在 xml 文件中對元素和屬性進行遍歷。...