天天看點

SPRING 聲明式XML事務和注解式事務, 哪個優先級更高?

這個問題其實早就有了, 不過很懶 一直都沒搞, 這次有個新項目, 剛好又學了點springjunit測試, 發現了一點問題, 也對以往的疑惑做了一些測試

SPRING 聲明式XML事務和注解式事務, 哪個優先級更高?

幾個關鍵代碼, 其他省略

spring有2種方式聲明事務

1 XML檔案

2 注解

測試1 XML裡設定 read-only="true", 注解 read-only="false" 執行出錯 看來是XML優先級高

org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.

測試2 XML裡設定 read-only="false", 注解 read-only="true" 執行成功 看來還是XML優先級高

測試3 XML裡不設定 注解 read-only="true" 執行出錯

不過和有的人得出的結論相悖 http://www.iteye.com/problems/10112

[b]本人 spring 版本 3.0.6[/b]

不知道有沒有人做類似測試.

還有一個問題, 就是junit 事務的問題

[b]不知道是什麼原因.[/b]