解析:
参考答案:IoC 最大的好处是降低了对象的耦合性,实现了应用的松散耦合。因为把对象生
成放在了 XML 里定义,所以当我们需要换一个实现子类将会变成很简单(一般这样的对象
都是现实于某种接口的),只要修改 XML 就可以了。
解析:
参考答案:IOC 可以分为三种注入类型,分别是构造函数注入、属性注入和接口注入。Spring
主要支持构造函数注入和属性注入。
Spring 中依赖注入与传统编程之间的差别是什么?
解析:
参考答案:在传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在 Spring
里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工
作通常由 Spring 容器来完成,然后注入调用者,因此也称为依赖注入。依赖注入的主要作
用是起到解耦合的作用。
解析:
参考答案: Spring 的通知类型有 (1) MethodBeforeAdvice (2) AfterReturningAdvice (3)
MethodInterceptor (4)ThrowsAdvice
谈谈目标对象实现接口与目标对象不实现接口有什么区别?
解析:
参考答案:目标对象实现接口与目标对象不实现接口主要有以下几点区别:
(1)如果目标对象实现了接口,默认采用 JDK 的动态代理机制实现 AOP
(2)如果目标对象实现了接口,可以强制 spring 采用 CGLIB 实现代理
(3) 如果目标对象没有实现接口,必须采用 CGLIB 实现代理,spring 会自动的在 CGLIB 和 JDK
动态代理之间切换