动态代理的核心代码
进行事务控制 事务管理器 事务定义信息 事务状态信息
事务管理器:配置
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"></property>
</bean>
开启注解的事务配置
<tx:annotation-driven/>
xml配置事务
<!--aop相关东西, tx-->
<!--<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<!–事务定义信息–>
<tx:method name="transfer*" read-only="false"/>
<tx:method name="update*" propagation="REQUIRED" isolation="DEFAULT" read-only="false" timeout="-1"/>
<tx:method name="find*" read-only="true"/>
<tx:method name="get*" read-only="true"/>
<tx:method name="save*" read-only="false"/>
<tx:method name="add*" read-only="false"/>
<tx:method name="*" read-only="true"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut expression="execution(* com.baidu.service..*(..))" id="poi1"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="poi1"/>
</aop:config>-->
Spring事务管理高层抽象主要包括3个接口PlatformTransactionManagerTransactionDefinitionTransactionStatus 事务管理器 事务定义信息(隔离、传播、超时、只读) 事务具体运行状态