IoC和DI的区别: IoC是为解决应用解耦而提出的一种设计思想(控制反转),而DI是IoC重要的实现方式
(1)Spring的生命周期:简单概括为4个阶段:
1.1 创建对象
1.2 DI属性赋值
1.3 初始化
1.4 销毁

(2) Bean的作用域 :
1. Singleton: 单例
2. Prototype: 多例
3. Request: 每次http请求都会创建一个新的bean
4. Session: ~
5. ApplicationContext: ~
(3) 注册Bean的4种方式:
1. 解析描述类的xml文件
2. 扫描解析被注解@Component 及其衍生注解标识的类
3. @Configuration + @Bean
4. @Import (3种方式)
(4) 单例Bean并发读写成员变量,会出现脏读,线程不安全问题

(5) SpringBean加载过程中有几种形态: 概念态 ---> 定义态 ---> 早期态 ---> 成品态
(6) 循环依赖的出现有常见形式,Spring的三级缓存解决循环依赖的过程是什么?
结论: Spring容器不可为依赖的对象赋值为null
6.1 Service自己注入自己,即在自己类里定义属性Service
6.2 Aservice有属性Bservice, Bservice有属性Aservice
(7) Spring @Order不能控制Bean的初始化顺序
@DependsOn ("Aservice") 解决Aservice 依赖 Bservice