當前位置:編程學習大全網 - 源碼下載 - springaop的源代碼分析

springaop的源代碼分析

AOP是代理模式的壹種實現,妳理解代理模式並不難。

Agent模式是業務邏輯復合處理的壹種強有力的設計模式。

生活中經常會有這樣的例子,比如妳去拜訪壹個朋友,但是他不在家,那麽妳會讓他的家人通知他。但是妳不知道這個通知的流程。如果妳有禮貌,也許妳的家人會表揚妳,如果妳態度不好,也許他們會舉報妳。妳所關心的只是通知妳的朋友,但在這個過程中可能會發生其他事情。

在程序中,處理壹個業務時,會遇到額外的業務邏輯,這些邏輯已經封裝好了。業務邏輯本身也被封裝,兩個模塊之間沒有關系。此時將使用代理模式。這裏有壹個簡單的示例代碼來說明代理模式的基本思想。

公共類ProxyObject實現對象{

對象obj

公共代理對象(){

System.out.println("這是壹個代理類");

obj = new object impl();

}

公共無效操作(){

System.out.println("代理啟動");

obj . action();

System.out.println("代理結束");

}

}

公共接口對象{

void action();

}

公共類ObjectImpl實現對象{

公共無效操作(){

system . out . println(" = = = = = = = = ");

system . out . println(" = = = = = = = = ");

System.out.println("這是代理類");

system . out . println(" = = = = = = = = ");

system . out . println(" = = = = = = = = ");

}

}

公共類測試{

公共靜態void main() {

object obj = new proxy object();

obj . action();

}

}

代理模式是間接調用的壹個實例,如上面的示例代碼所示。如果直接調用對象實現類,也就是ObjectImpl中的方法,就不能調用新的業務邏輯。但是,如果實現了壹個代理類,並在該類中調用ObjectImpl,那麽對代理類的外部訪問將間接調用ObjectImpl,這個過程可以在不修改源代碼ObjectImpl的情況下進行擴展。

spring的AOP就是基於這個原理。AOP中會出現多個邏輯復合處理。使用代理類可以準確地執行目標類中定義的邏輯單元,並擴展其他邏輯單元。

  • 上一篇:抓取源代碼005,運行源代碼。
  • 下一篇:安卓模擬器有哪些
  • copyright 2024編程學習大全網