學習目标:
掌握SSM知識
學習内容:
1、Spring的事務控制
對應Spring_Demo中的day9_spring_tx項目
學習筆記
1 程式設計式事務控制相關對象
1.1 PlatformTransactionManager
- 平台事務管理器
1.2 TransactionDefinition
- 事務定義對象
![]()
SSM學習-Day9學習目标:學習内容:學習筆記 ![]()
SSM學習-Day9學習目标:學習内容:學習筆記
1.3 TransactionStatus
- 事務狀态
2 基于XML的聲明式事務控制
2.1 什麼是聲明式事務控制
![]()
SSM學習-Day9學習目标:學習内容:學習筆記
2.2 聲明式事務控制快速入門
<!-- 配置一個平台事務管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 通知 事務的增強-->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<!-- 設定事務屬性資訊-->
<tx:attributes>
<tx:method name="*"/>
</tx:attributes>
</tx:advice>
<!-- 配置事務的AOP織入-->
<aop:config>
<aop:advisor advice-ref="txAdvice" pointcut="execution(* com.example.service.impl.*.*(..))"></aop:advisor>
</aop:config>
applicationContext.xml
@Override
public void transfer(String outMan, String inMan, double money) {
//開啟事務
accountDao.out(outMan,money);
int i = 1/0;
accountDao.in(inMan, money);
//送出事務
}
AccountServiceImpl.java
2.3 切點方法的事務參數的配置
![]()
SSM學習-Day9學習目标:學習内容:學習筆記
3 基于注解的聲明式事務控制
3.1 快速入門
<!-- 配置一個平台事務管理器-->
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
<!-- 事務的注解驅動-->
<tx:annotation-driven transaction-manager="transactionManager"/>
applicationContext.xml
@Transactional
public void transfer(String outMan, String inMan, double money) {}
AccountServiceImpl.java
3.2 注解配置聲明式事務控制解析
![]()
SSM學習-Day9學習目标:學習内容:學習筆記