IOC 与 DI
写在前面
这个东西,是 Spring 的一大特性,只要是与 Spring 相关的题目,都可以往这上面引。
热门题目
- Spring 是什么?
- Spring 的优势?
- 什么是 Spring 的 IOC?
- Spring 的依赖注入(DI)是什么?
- Spring IOC 有什么好处?
- Spring 由哪些模块组成?
见招拆招
针对这些题目,我准备了一个文本,足以应付上述这些题目了:
Spring 的话,它是一个比较轻量级的开发框架,对于我们 Java 后端来说,还需要集成其他模块,比如:SpringWeb、SpringMVC、SpringAOP等。这个框架比较吸引我的地方就在于它的 IOC 和 AOP 机制以及庞大的社区生态。IOC的话,就是控制反转嘛,将对象的创建和依赖管理工作交给 Spring IOC 容器去管理,提高了代码的模块化和可维护性。提到 IOC 就离不开 DI 嘛,也就是依赖注入嘛,是 Spring 实现 IOC 的主要手段。DI 的核心思想就是将对象的依赖关系从内部抽离,通过外部注入的方式提供给对象。这样的话,依赖对象的创建和管理就交给 Spring 容器了,而不是对象自身负责。AOP 的话,就是面向切面编程嘛,可以在不改变原有方法逻辑的前提下,对方法进行扩展和增强,这个也是平时开发中比较常用的一个机制。
(这段话好好背一下)
补充,Spring 的组成模块:
我想去官网上一张比较经典的图,但是没找到,去别的地方扒拉下来了一张:
这张图还算严谨,在来一张官网的图:
对照一些就好了。
总结
一般这些题目都是作为开场白的,是为后面那些问题埋钩子的,当然,你不埋的话,面试官也会问。
2025/01/05
writeBy kaiven