-
配置事務管理器,配置業務層的代理
org.springframework.transaction.interceptor.TransactionProxyFactoryBean
測試的時候注入的是代理后的對象,就可以對方法進行事務管理了
查看全部 -
編程式事務的實現代碼
查看全部 -
在service層注入dao層,1、含有dao層的成員變量,以及set方法;2、在配置文件中注入
public class MyAccountServiceImpl implements AccountService {
? ?/**
? ? * 注入轉賬的dao
? ? */
? ?private AccountDao accountDao;
? ?public void setAccountDao(AccountDao accountDao) {
? ? ? ?this.accountDao = accountDao;
? ?}<!--配置業務層的類-->
? ?<bean id="service" class="com.ytcool.service.MyAccountServiceImpl">
? ? ? ?<property name="accountDao" ref="accountDao"/>
</bean>查看全部 -
事務的隔離級別就是來解決并發安全問題的:SERIALIZABLE最安全,因為它的鎖的粒度最大,直接會鎖表。也導致了它執行起來效率最低
spring默認采用的DEFAULT隔離級別,也就是采用數據庫默認的隔離級別,
Mysql默認采用REPEATABLE_READ.ORACLE默認采用READ_COMMITTED隔離級別
查看全部 -
org.springframework.transaction.TransactionDefinition?事務定義,包含事務的隔離級別、傳播行為。
事務的四大特性:原子性、一致性(執行事務前后的數據完整性保持一致)、隔離性、持久性;
如果不考慮隔離性,會引發安全問題如下:臟讀、不可重復讀、幻讀(虛讀)
臟讀:一個事務讀取到另一個事務改寫了但沒有提交的數據;
不可重復讀:在同一事務中,多次讀取同一數據返回的結果有所不同(讀取到另一個事務提交的數據)
幻讀(虛讀)讀取到另一個事務插入的一些記錄
查看全部 -
org.springframework.transaction.PlatformTransactionManager?平臺事務管理器,
org.springframework.transaction.PlatformTransactionManager#getTransaction
org.springframework.transaction.PlatformTransactionManager#commit
org.springframework.transaction.PlatformTransactionManager#rollback
org.springframework.transaction.TransactionDefinition
org.springframework.transaction.TransactionStatus
查看全部 -
1
查看全部 -
1
查看全部 -
xml
查看全部 -
transactionproxyfactorybean
查看全部 -
配置
查看全部 -
2
查看全部 -
編程式事務控制
查看全部 -
spring
查看全部 -
spring transaction interface
查看全部 -
1
查看全部 -
事務傳播
查看全部
舉報