-
XML文件配置事務(wù)管理器查看全部
-
基于注解的聲明式事務(wù)查看全部
-
事務(wù)傳播行為查看全部
-
事務(wù)隔離級別查看全部
-
事務(wù)管理器的使用查看全部
-
/** * Spring聲明式事務(wù)管理的方式一 測試類 - 傳統(tǒng)方式 */ @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:applicationContext2.xml") public class SpringDemo2 { /** * 注入代理類 - 因為代理類進(jìn)行了增強(qiáng)的操作 */ //@Resource(name = "accountService")//這個為原本的,下面那個name的值是bean的name @Resource(name="accountServiceProxy") private AccountService accountService; /** * 轉(zhuǎn)賬案例: */ @Test public void demo1() { accountService.transfer("aaa","bbb",200d); } }查看全部
-
applicationContext.xml配置 <!-- 配置業(yè)務(wù)層代理 --> <bean id="accountServiceProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <!-- 配置目標(biāo)對象 --> <property name="target" ref="accountService"></property> <!-- 注入事務(wù)管理器 --> <property name="transactionManager" ref="transactionManager"></property> <!-- 注入事務(wù)屬性 --> <property name="transactionAttributes" > <props> <!-- prop格式: * PROPAGATION :事務(wù)的傳播行為 * ISOLATION :事務(wù)的隔離級別 * readOnly :只讀(不可以進(jìn)行修改,插入,刪除的操作) * -Exception :發(fā)生哪些異?;貪L事務(wù) * +Exception :發(fā)生哪些異常事務(wù)不回滾 --> <!-- key的"*"代表全部方法,替換為"save*"則save....的方法 后面的以逗號隔開 --> <prop key="*">PROPAGATION_REQUIRED,+java.lang.ArithmeticException</prop> </props> </property>查看全部
-
總結(jié):查看全部
-
放到需要使用的實現(xiàn)類上 /* * @Transactional 注解中的屬性 * propagation :傳播行為 * isolation :隔離級別 * read-only :只讀 * rollback-for :發(fā)生哪些異常時回滾 * no-rollback-for :發(fā)生哪些異常時不回滾 * timeout :過期信息 */ @Transactional(propagation=Propagation.REQUIRED)查看全部
-
Spring的聲明式事務(wù)管理三:基于注解 <!-- 配置事務(wù)管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 開啟注解事務(wù) --> <tx:annotation-driven transaction-manager="transactionManager"/>查看全部
-
聲明式事務(wù)管理方式二:基于AspectJ的xml方式的配置 <!-- 配置事務(wù)管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 配置事務(wù)的通知:(事務(wù)的增強(qiáng)) --> <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <!-- propagation :傳播行為 isolation :隔離級別 read-only :只讀 rollback-for :發(fā)生哪些異常時回滾 no-rollback-for :發(fā)生哪些異常時不回滾 timeout :過期信息 --> <tx:method name="transfer" propagation="REQUIRED"/> </tx:attributes> </tx:advice> <!-- 配置aop切面 --> <aop:config> <!-- 配置切入點(diǎn) --> <aop:pointcut expression="execution(* cn.muke.spring.demo3.AccountService+.*(..))" id="pointcut1"/> <!-- 配置切面 --> <aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut1"/> </aop:config>查看全部
-
聲明式事務(wù)(代理) <!-- 配置事務(wù)管理 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"></property> </bean> <!-- 配置業(yè)務(wù)層的代理 --> <bean id="accountServiceProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <!-- 配置目標(biāo)對象 --> <property name="target" ref="accountService"></property> <!-- 注入事務(wù)管理器 --> <property name="transactionManager" ref="transactionManager"/> <!-- 注入事務(wù)的屬性 --> <property name="transactionAttributes"> <props> <!-- * PROPAGATION :事務(wù)的傳播行為 * ISOLATION :事務(wù)的隔離級別 * readOnly :只讀(不允許進(jìn)行修改,插入,刪除) * -Exception :發(fā)生哪些異?;貪L事務(wù) * +Exception :發(fā)生哪些異常事務(wù)不會滾。 --> <prop key="transfer">PROPAGATION_REQUIRED</prop> </props> </property> </bean>查看全部
-
applicationContext.xml查看全部
-
臟讀,A進(jìn)行update、insert時候,B讀取了中間狀態(tài)不知道對不對的值; 不可重復(fù)讀,B在A 的update操作前后,讀到的數(shù)據(jù)不一致; 幻讀,B在A的insert操作前后,讀到了的數(shù)據(jù)不一致查看全部
-
spring的事務(wù)管理查看全部
-
事務(wù)總結(jié)查看全部
舉報
0/150
提交
取消