面向AOP程式設計 二 cache結合

2021-09-30 15:29:50 字數 1687 閱讀 2994

快取配置 ehcache.xml

<?xml version="1.0" encoding="utf-8"?>

實現部分

一、初始化 cache

private static cachemanager manager;

static

private static void init()

二、 測試 aop 和 cache結合

public static void main(string args) 

string time4 = dateutil.getnowtimestr("yyyy-mm-dd hh:mm:ss.sss");

for (int i = 0; i < 10000000; i++)

string time5 = dateutil.getnowtimestr("yyyy-mm-dd hh:mm:ss.sss");

}public static void testjdkcache() ;

// 構建aop的advice,這裡需要歘如業務的例項

loginvocationhandler handler = new loginvocationhandler(new business());

// 生成**類的位元組碼載入器

classloader classloader = loginvocationhandler.class.getclassloader();

// 織入器,織入**並生成**類

proxybusiness = (ibusiness2) proxy.newproxyinstance(

classloader, proxyinte***ce, handler);

element element = new element("testjdkcache", proxybusiness);

cache.put(element);

cache.flush();// 將快取中的資料寫入磁碟中,但是只有在超出配置的最大記憶體快取值時,

//才會執行此操作,此處測試為100000才執行

} else

//使用**類的例項呼叫方法

proxybusiness.dosomething2();

((ibusiness)proxybusiness).dosomething();

}public static void testcglibcache() else

newbusiness.dosomething2();

((ibusiness)newbusiness).dosomething();

}

三、測試結果

testjdkcache:6000

testcglibcache:4000

四、問題

1。  cache cache = manager.getcache("logbean2"); 需要配置兩個 不能乙個對多個物件,有待找原因

2。  ibusiness 介面實現 extends serializable 在cglib中可以提公升很高

面向切面程式設計 AOP 二

本次要講的時候如何改進 模式,具體來說是動態 模式,動態 模式一般實現aop框架,不懂aop的童鞋看這裡。我前面的博文也實現了乙個aop框架 可以參考我前面的博文 原創 c 輕量級aop框架 但是那個aop框架存在乙個缺陷,就是不支援切面的組合,這一點大大降低了其通用性,本次通過c 11改進,使ao...

aop 面向切面程式設計

起源 研究人員就對物件導向思想的侷限性進行了分析。他們研究出了一種新的程式設計思想,借助這一思想或許可以通過減少 重複模組從而幫助開發人員提高工作效率。隨著研究的逐漸深入,aop也逐漸發展成一套完整的程式設計思想,各種應用aop的技術也應運而生。aop思想 定義乙個切面,在切面的縱向定義處理方法,處...

AOP面向切面程式設計

1 概念 面向切面程式設計,通過預編譯方式和執行期動態 實現程式功能的統一維護的一種技術。aop是oop的延續,利用aop可以對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率 2 作用 1.解耦,將通用性的功能模組 與業務 解耦 ioc專...