网站建设的公司上海,推广做黄页网站,ida设计公司上海,新手做网站应该注意什么前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. tx:method nameinsert* propagationREQUIRED /中name的值是ServiceImpl中各个要加入事物管理的方法…
前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到教程。 1. tx:method nameinsert* propagationREQUIRED /中name的值是ServiceImpl中各个要加入事物管理的方法的方法名。 !-- 事务管理 Spring声明式事务管理 。spring默认的事务隔离级别是用的数据库的默认事务隔离级别不同数据库级别也不尽相同。使用事务要引入aop和tx的命名空间 即文件头第4行。(开启注解事务使用时在方法上加上注解Transactional(...)即可 )--!-- 事务管理器 --bean idtransactionManagerclassorg.springframework.jdbc.datasource.DataSourceTransactionManagerproperty namedataSource refdataSource //bean!-- 通知传播行为 --tx:advice idtxAdvice transaction-managertransactionManagertx:attributestx:method nameinsert* propagationREQUIRED /tx:method namedelete* propagationREQUIRED /tx:method nameupd* propagationREQUIRED /!-- 只读表示对数据的操作是读取报异常后不用回滚不是只读的数据出异常事务会回滚。 --tx:method nameselect* propagationSUPPORTS read-onlytrue /tx:method nameget propagationSUPPORTS read-onlytrue //tx:attributes/tx:advice!-- 配置事务切入点 --aop:configaop:pointcut idservicePointcut expressionexecution(* com.service.impl..*ServiceImpl.*(..))/aop:advisor advice-reftxAdvice pointcut-refservicePointcut//aop:config 2. 尽量把逻辑操作代码写到Service中controller是没有纳入spring的事务管理的。出现异常不会回滚。 3. 相关说明 spring中PROPAGATION类的事务属性详解 PROPAGATION_REQUIRED 支持当前事务如果当前没有事务就新建一个事务。这是最常见的选择。 PROPAGATION_SUPPORTS 支持当前事务如果当前没有事务就以非事务方式执行。 PROPAGATION_MANDATORY 支持当前事务如果当前没有事务就抛出异常。 PROPAGATION_REQUIRES_NEW 新建事务如果当前存在事务把当前事务挂起。 PROPAGATION_NOT_SUPPORTED 以非事务方式执行操作如果当前存在事务就把当前事务挂起。 PROPAGATION_NEVER 以非事务方式执行如果当前存在事务则抛出异常。 PROPAGATION_NESTED 支持当前事务如果当前事务存在则执行一个嵌套事务如果当前没有事务就新建一个事务。