spring中的注解@@Transactional失效的场景代码演示
作者:java架构师-太阳
这篇文章主要介绍了spring中的注解@@Transactional失效的场景代码演示,@Transactional注解是Spring框架提供的用于声明事务的注解,作用于类和方法上,需要的朋友可以参考下
spring中的注解@@Transactional失效的场景
1 当方法被标记为@Transactional时,但是该方法是非公有方法时,@Transactional注解会失效。
@Service
public class UserService {
@Transactional
private void doSomething() {
// ...
}
}
2 当方法被标记为@Transactional时,但是该方法是静态方法时,@Transactional注解会失效。
@Service
public class UserService {
@Transactional
public static void doSomething() {
// ...
}
}
3 当方法被标记为@Transactional时,但是该方法是被同一个类中的另一个方法调用时,@Transactional注解会失效。
例如:
@Service
public class UserService {
@Transactional
public void doSomething() {
doSomethingElse();
}
public void doSomethingElse() {
// ...
}
}
4.当方法被标记为@Transactional时,但是该方法是被另一个类中的方法调用时,@Transactional注解会失效。
例如:
@Service
public class UserService {
@Transactional
public void doSomething() {
// ...
}
}
@Service
public class AnotherService {
@Autowired
private UserService userService;
public void doSomethingElse() {
userService.doSomething();
}
}
以上是一些可能导致@Transactional注解失效的场景,需要注意避免。
到此这篇关于spring中的注解@transation失效的场景代码演示的文章就介绍到这了,更多相关spring的@transation失效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
