1. 程式人生 > >AOP 和 IOC

AOP 和 IOC

在面試中,經常會問,說說你對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的應用的三種實現方式


---------------------
作者:s20081294
來源:CSDN
原文:https://blog.csdn.net/s20081294/article/details/44677387?utm_source=copy
版權宣告:本文為博主原創文章,轉載請附上博文連結!