1. 开发中主要使用 Spring 的什么技术?
基于依赖注入的核心机制—— IoC
基于 AOP 的声明式事务—— AOP
与多种持久层技术的整合—— Hibernate、JPA
优秀的 Web MVC 框架—— Spring MVC
2. Spring框架的核心功能?
负责管理、创建所有的 Spring Bean 对象——Spring 容器
负责管理 Spring 容器中所有 Spring Bean 对象之间的依赖关系——依赖注入
3. 简述 Spring IoC 的概念
IoC——Inversion of Control :控制反转
DI——Dependency Injection : 依赖注入控制反转(依赖注入):其思想是反转资源获取的方向。传统的资源查找方式为组件向容器发起请求查找资源,容器返回对应的资源;而应用 IOC之后则为容器主动向组件推送资源,组件根据需要获取资源;
控制反转和依赖注入其实是同一个行为的两种表达,只是描述的角度不同而已
从调用者(组件)的角度来看,使用 Spring 框架之后,调用者获取被依赖对象(资源)的方式由原来的主动获取,变为被动接受,称为控制反转
从 Spring 容器的角度来看,Spring 容器负责将被依赖对象(资源)赋值给调用者的成员变量,相当于为调用者注入了它依赖的实例,称为依赖注入
4. 调用者获取被依赖对象的方式有哪些?
① 调用者通过 new 关键字自己创建被依赖对象——高度耦合,职责不清
② 调用者通过工厂设计模式获取被依赖对象——面向接口编程,可以让调用者和被依赖对象的实现类解耦
③ 依赖注入——调用者无需主动获取被依赖对象,只需等待 Spring 容器注入即可
5. 依赖注入通常有哪些方式?
设值注入:IoC 容器使用成员变量的 setter 方法来注入被依赖对象
构造注入:IoC 容器使用构造器来注入被依赖对象