Spring核心思想Ioc和Aop (面试)
注意: Ioc和Aop并不是
Spring提出的
,在Spring之前就已经存在,Spring在技术层面给这两个思想做了非常好的实现。
1 Ioc
面试官: 下面谈谈你是怎么理解ioc的吧。
我:Inversion of Control (控制反转)。它只是一个技术思想,不是一个技术实现。
我:在传统的java开发中,bean的创建,管理一直是一个让人头疼的问题。
我:比如类A依赖于类B,通常会在类A中new一个B的对象。
我:在Ioc思想下,我们不用自己去new对象,而是由Ioc容器去帮助我们实例化对象并且管理它。我们需要使用某个对象,去Ioc容器中要即可。当然我们也丧失了某些权利,比如创建,对象的管理权利。也得到了某些福利,不用去考虑对象的创建,管理等问题。
面试官: 为什么称Ioc叫做控制反转?
我:控制:指得是对象的创建。(实例化,管理)的权利。
我:反转:控制权交给外部环境了(spring框架、IoC容器)
1.1 什么是Ioc
Ioc :