
一,Spring
1,Spring框架中单例bean是线程安全的吗?
 
 


2,什么是AOP?你项目有用过吗?

 
 

 
 
3,Spring事务的失效场景有哪些?
- 发生自身调用(类中使用this调用本类的方法)
- 异常捕获处理
- 抛出检查异常
- 非public修改方法
- 数据库不支持事务



4,Spring的声明周期
- 通过BeanDefinition读取Bean的定义信息
- 通过构造方法实例化对象
- 通过set方法进行依赖注入
- 一系列aware为后缀名的接口的方法实现
- BeanPostProcessor-before前置处理器执行
- 初始化方法执行
- BeanPostProcessor-after后置处理器执行
- bean销毁



5,Spring的循环引用

1,循环依赖产生的原理流程图:

2,三个等级缓存的作用

3,一级缓存的加入(解决不了循环依赖)
4,二级缓存的加入(解决一般对象的循环依赖问题)
可以解决一般对象的循环依赖,被增强对象(代理对象)不能解决其循环依赖问题

5,三级缓存的加入(解决代理对象循环依赖问题)

6,@Lazy注解的使用(解决构造方法出现的循环依赖问题)

 
 5,Spring的常见注解有哪些?
 
6,SpringMVC的注解有哪些?

7,SpringBoot的常见注解有哪些?

8,SpringMVC的执行流程?
1,视图阶段


2,前后端分离阶段


9,SpringBoot的自动配置原理
 

11,MyBatis的执行流程
1,加载MyBatis核心配置文件(数据库连接池必要的一些信息)和sql映射文件

2,创建会话,执行sql等

3,总结

