Spring MVC+MyBatis开发从入门到项目实践(超值版)
上QQ阅读APP看书,第一时间看更新

3.5 就业面试技巧与解析

学完本章内容,读者对Spring IoC容器有了基本了解,熟悉了Spring IoC容器的初始化、依赖注入方式,以及IoC容器的设计与实现。下面对面试过程中可能出现的相关问题进行解析,更好地帮助读者学习。

3.5.1 面试技巧与解析(一)

面试官:什么是IoC?

应聘者:

(1)IoC即控制反转,是面向对象编程的一种设计原则,可以用来减小计算机代码之间的耦合度。其中最常见的方式叫作依赖注入(Dependency Injection,DI),还有一种方式叫作依赖查找(Dependency Lookup),例如audit=(AuditService)ctx.lookup("java:comp/env/audit");。

(2)Spring IoC:从微观方面来讲,Spring IoC就是一个ConcurrentHashMap,存放对象的名字和实例;从宏观方面来讲,Spring IoC就是Spring的环境,包括Spring的Bean工厂、注册器、读取器等。

3.5.2 面试技巧与解析(二)

面试官:解释IoC、DI,说明IoC和DI的关系。

应聘者:

(1)IoC:把对象的创建、初始化、销毁交给Spring来管理,而不是由程序控制,实现控制反转。

(2)DI:依赖注入,在Spring创建对象的过程中,将对象依赖属性通过配置进行注入,DI可以通过Setter方法注入(设值注入)、构造方式注入和注解注入三种方式来实现。

(3)使用构造方式注入时,先实例化依赖的对象后,才实例化原对象。而使用Setter方法注入时,Spring首先实例化对象,然后才实例化所有依赖的对象。

(4)当Setter方法注入与构造方法注入同时存在时,先执行Setter方法注入,再执行构造方法注入。

(5)IoC与DI的关系:IoC是需要实现的目标,DI是实现IoC的一种技术手段。