对于基本的开发来说,这个注解是经常使用的注解之一。此注解帮我们开启事务相关的信息,也是面试也会常问的,所以也是开发必须掌握的源码之一,这样也有助于我们开发,所谓知其然知其所以然。
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) // package org.springframework.transaction.annotation; import java.lang.annotation.documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.core.annotation.AliasFor; @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @Inherited @documented public @interface Transactional { @AliasFor("transactionManager") String value() default ""; @AliasFor("value") String transactionManager() default ""; Propagation propagation() default Propagation.REQUIRED; Isolation isolation() default Isolation.DEFAULT; int timeout() default -1; boolean readOnly() default false; Class extends Throwable>[] rollbackFor() default {}; String[] rollbackForClassName() default {}; Class extends Throwable>[] noRollbackFor() default {}; String[] noRollbackForClassName() default {}; }
以上就是transactional的源码,现在我们对着源码解答每个的作用以及拓展
根据上面脑图进行记忆transactional的源码以及对应的含义
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)