面试题,说说你对spring IOC和AOP的理解

/ 技术 / 无站内评论 / 456浏览

在面试中,经常会问,说说你对spring IOC和AOP的理解,问题很宽泛,似乎不知道从何说起。

回答思路:1.先用通俗易懂的话解释下何为IOC和AOP---------》2.各自的实现原理-----------》3.自己的项目中如何使用

以下是个人的一些总结,仅供参考。


1.IOC

许多应用都是通过彼此间的相互合作来实现业务逻辑的,如类A要调用类B的方法,以前我们都是在类A中,通过自身new一个类B,然后在调用类B的方法,现在我们把new类B的事情交给spring来做,在我们调用的时候,容器会为我们实例化。


2. IOC容器的初始化过程

     资源定位,即定义bean的xml-------》载入--------》IOC容器注册,注册beanDefinition

    IOC容器的初始化过程,一般不包含bean的依赖注入的实现,在spring IOC设计中,bean的注册和依赖注入是两个过程,,依赖注入一般发生在应用第一次索取bean的时候,但是也可以在xm中配置,在容器初始化的时候,这个bean就完成了初始化。


3. 三种注入方式,构造器、接口、set注入,我们常用的是set注入

4. bean是如何创建---  工厂模式

5. 数据是如何注入-------反射

6.AOP

        面向切面编程,在我们的应用中,经常需要做一些事情,但是这些事情与核心业务无关,比如,要记录所有update*方法的执行时间时间,操作人等等信息,记录到日志,

通过spring的AOP技术,就可以在不修改update*的代码的情况下完成该需求。

7.AOP的实现原理------代理

       

        以下文章本人觉得可以很好地回答前两个问题,特此转载供读者参考:

http://blog.csdn.net/it_man/article/details/4402245     IOC的定义及实现原理---反射

http://www.cnblogs.com/yanbincn/archive/2012/06/01/2530377.html AOP的定义实现原理---代理

        http://outofmemory.cn/code-snippet/3762/Spring-AOP-learn-example     AOP的应用的三种实现方式

召唤蕾姆
琼ICP备18000156号

鄂公网安备 42011502000211号