Spring 面试题

本文主要介绍了Spring框架的IOC容器管理机制,包括Bean的生命周期、容器生成方式等内容,并详细阐述了AOP的概念及其应用场景,同时深入探讨了事务的特性和安全性问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

一.IOC

Spring提供一个bean的工厂对各个bean进行管理(创建和使用),当用户想要创建对象的时候,从工厂中取出来注入到要实例化的对象中即可。

1 Spring工厂

我们在代码中获得工厂,一般不用BeanFactory而是用其子类ApplicationContext。获得工厂的方式包括以下两种:

2 Bean容器的生成

我们在工厂中放上容器才行,要不这个工厂就是个空壳。

2.1 XML生成容器

 

 

3 容器是对象,对象由类创建而来,类中的属性也需要注入,属性注入的包括两种。

 

 

3 Bean容器的声明周期

Bean容器生成之后,不可能一直存放到内存里面,肯定要有一个生命周期。

 

2.2 注解生成容器(这个用的较多)

2.2 注解生成容器(这个用的较多)

 

4 如何取出Bean注入到要实例化的对象中

 

4 如何取出Bean注入到要实例化的对象中

二 AOP

分别用实例来说明一下这些名词

 

Target 代理对象

 

切入点

连接点

1 切入点

2 通知

 

3 切面

切入点和通知的结合

 

 

AOP也很好理解,定义切点(往往是一组),然后在切点前后加通知。比如,对所有delete方法添加事务。

说到添加事务,我们就有必要讲一下事务了

什么是事务

事务逻辑上的一组操作,组成这组操作的各个逻辑单元,要么一起成功,要么一起失败.

事务的特性

原子性:强调事务的不可分割.

隔离性: 一个事务执行的过程中,不应该受到其他事务的干扰

一致性:事务的执行的前后数据的完整性保持一致.

持久性:事务一旦结束,数据就持久到数据库

事务的安全性:

脏读:读未提交

不可重复读:两次读的数据不一致

幻读:两次读的数据不一致

不可重复读和幻读的区别

不可重复读:一个事务读,另一个事务修改,导致前一个事务读的数据不一致

幻读:一个事务读,另一个事务插入。导致钱一个事务发现自己少读了数据,决定自己出现了幻觉。

事务的隔离级别:

读未提交

读已提交

可重复读

串行化

事务的传播:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值