2011-07-19 51 views
0

當通過xml配置Spring事務時,綁定接口或具體的事務類是否好用?我在想,我們應該爲映射到 事務處理的接口進行映射,但是我從Spring文檔中找到了這個接口: 「Spring團隊的建議是您只使用 @Transactional註釋來註釋具體類。Spring事務配置

請分享您的想法。

回答

3

事務邊界是實現細節,因此它們應該通過實現而不是通過接口來指定。

例如,想象一下,在你需要使用編程式事務管理(TransactionTemplate),而不是@Transactional爲您的方法之一,一些複雜的情況。如果在接口級別有@Transactional,則不可能。

+0

對不起,我進入@Transactional在我的問題。其實這是我從Spring文檔中提取的一部分。我的問題是關於通過xml聲明事務。那樣,我應該綁定接口還是實現類? – popcoder

+0

@ user495939:這個推理也適用於xml。 – axtavt

2

接口是合同。交易性不是(通常)合同的一部分。這是一個實現細節。因此@Transactional屬於實現類,而不是在接口中。

+0

比方說,我們不使用註釋,只有在通過XML宣佈交易。在這種情況下,我們可以使接口和類代理都正確嗎?哪一個更好?這是我的擔心。 – popcoder

+0

@ user495939:正如axtavt所說,同樣的推理可以應用於XML聲明的事務。而不是類和接口,你有bean和類型。你可以認爲應用大致相同的規則。 –