spring事物---使用总结


1、数据库事务隔离级别
https://blog.csdn.net/convict_eva/article/details/53561310

2、spring 事物传播方式
https://blog.csdn.net/convict_eva/article/details/58586110

3、实现方式
动态代理
    如果类的抽象接口父类,就会使用JDK动态代理实现,只有pulic 修饰的方法才能被增强。
CGLIB
    如果类没有抽象接口父类,那么就使用CGLIB实现,具体是使用继承方式实现增强。
    只有能被子类重写的方法才能被增强,所以private , final ,static 修饰的方法不能被增强。
    

4、事物嵌套
    4.1 public 方法调用 private 方法,适用spring 事物的传播机制。例如:如果public 方法被事物增强,那么private 方法也运行在事物中;如果public 没有运行在事物中,那么private 方法也没有运行在事物中。
    4.2 多线程的情况下调用public 方法也会被增强。
    总结:
    在同一个线束中相互嵌套的事务方法,处于同一个事物中。
    如果相互嵌套调用的方法工作在不同的线程中,不同线程的事务方法工作在各自独立的事物中。

5、数据库连接泄漏
    spring 保证了数据库连接不会泄漏。

猜你喜欢

转载自blog.csdn.net/convict_eva/article/details/83111172