spring 面试题

1.Spring中Ioc和DI的区别

        Ioc是一种思想,DI是具体的实现方式。

2.Spring的事务传播机制是什么?

        REQUIRED:默认的传播机制,如果当前没有事务,则创建一个新的事务,如果当前存在事务,则假如这个事务。

        SUPPORTS:当前存在事务,则加入当前事务,如果没有事务,则以非事务的方式执行。

        MANDTORY:当前存在事务,则加入当前事务,如果当前不存在事务,则抛出异常。

        REQUIRED_NEW:创建一个新事务,如果当前存在事务,则挂起该事务。

        NOT_SUPPORTED:以非事务方式执行,如果存在事务,则挂起当前事务。

        EVER:不使用事务,如果当前存在事务,则抛出异常。

        NESTED:如果当前事务存在,则在嵌套事务中执行,否则和REQUIRED的操作一样。

3.spring事务的隔离级别

        read uncommitted(读未提交):一个事务可以读取到另一个事务未提交的数据,会产生脏读。

        read committed(读已提交):一个事务只能读取到另一个事务提交过的不同版本的数据,但依然会产生不可重复读。不可重复读就是在同一个事务中,执行同一个查询,而查询的数据不同。

        repeatable read(可重复读):在同一个事务中,多次查询同一条数据,查出来的结果是相同的。解决了脏读和不可重复读的问题。但依然存在幻读的问题。幻读就是在一个事务中,多次执行同一个查询,查询出的数据条数不同。

        serializable(串行化):最高的隔离级别,事务按顺序执行,确保每次事务的读取和写入都不会与其他事务发生并发冲突。

        

4.Spring事务的实现方式的原理是什么?

        spring事务操作是AOP的核心体现,当一个方法添加了@Transaction注解之后,spring会基于这个类生成一个代理对象,当使用这个代理对象的时候,如果有事务处理,那么会把事务的自动提交关闭,然后去执行具体的业务逻辑,如果执行没有出现异常,那么代理逻辑就会直接提交,如果出现任何异常情况,那么直接回滚。

5.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值