b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

spring实现aop的步骤 @Transactional(3)

电脑杂谈  发布时间:2018-01-10 02:01:26  来源:网络整理

TransactionDefinition.PROPAGATION_NEVER:以非事务方式运行,如果当前存在事务,则抛出异常。

TransactionDefinition.PROPAGATION_MANDATORY:如果当前存在事务,则加入该事务;如果当前没有事务,则抛出异常。

TransactionDefinition.PROPAGATION_NESTED:如果当前存在事务,则创建一个事务作为当前事务的嵌套事务来运行;如果当前没有事务,则该取值等价于TransactionDefinition.PROPAGATION_REQUIRED。spring实现aop的步骤

spring aop面试_spring怎么实现aop_spring实现aop的步骤

指示spring事务管理器回滚一个事务的推荐方法是在当前事务的上下文内抛出异常

spring事务管理器会捕捉任何未处理的异常,然后依据规则决定是否回滚抛出异常的事务

默认配置下,spring只有在抛出的异常为运行时unchecked异常时才回滚该事务,

也就是抛出的异常为RuntimeException的子类(Errors也会导致事务回滚),而抛出checked异常则不会导致事务回滚。

注意事项:

@Transactional 使用位置 类上方、方法上方

Spring 建议不要在接口或者接口方法上使用该注解,因为这只有在使用基于接口的代理时它才会生效

方法的访问权限为 public

@Transactional 注解应该只被应用到 public 方法上,这是由 Spring AOP 的本质决定的。

如果你在 protected、private 或者默认可见性的方法上使用 @Transactional 注解,这将被忽略,也不会抛出任何异常

3.默认情况下,只有来自外部的方法调用才会被AOP代理捕获,也就是,类内部方法调用本类内部的其他方法并不会引起事务行为,

即使被调用方法使用@Transactional注解进行修饰

同一个类中方法,A方法未使用此标签,B使用了,C未使用,A 调用 B , B 调用 C ,A 方法执行过程中无事务

spring的@Transactional注解详细用法


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-59442-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 郑若瑶
      郑若瑶

      美国提供的只有战争

    热点图片
    拼命载入中...