自定義ioc aop(二)

2021-10-21 20:42:34 字數 1071 閱讀 6976

aop:aspect oriented programming 面向切面程式設計,區別於我們熟知的oop物件導向,aop是對於oop的一種補充。oop是一種垂直的繼承關係,子類繼承父類,可以避免大多數的重複**,但是有一些重複**的問題,無法通過繼承解決,比如說a類是父類,b、c是子類,a類已有的方法,b、c不需要重複去實現,但是如果a裡的不同方法裡面有重複**,該如何解決呢?

比如:在a類中有aa和ab兩個方法,aa中有乙個system.currenttimemillis()記錄方法執行效能的**,ab也有乙個這樣的**,這顯然不能通過繼承解決,這個時候就要用到aop了。

aop就是為了解決這類問題而誕生的

動態**

public class transationmanager 

// 開啟手動提交事務

public void begintransation() throws sqlexception

// 提交事務

public void committransation() throws sqlexception

// 回滾事務

public void rollbacktransation() throws sqlexception

}

動態**的實現有兩種一種是jdkproxy一種是cglib,此處以jdkproxy為例

public class proxyfactory ;

public object getjdkproxy(object object)

當前餘額

執行結果f

餘額

執行了回滾,且餘額沒有變化,沒有發生乙個變多,而另乙個沒有減少的情況,事務有效

自定義控制項7 自定義屬性二

問題1 format reference color 比如自定義乙個按鈕,背景有可能是顏色也有可能是,該如何去獲取該屬性?問題2 typedvalue是什麼鬼東西?問題3 getfraction index,base,pbase,defvalue 中的第2,3個引數是幹什麼的?我的解決方法 if a...

mapreduce自定義分組 自定義分割槽 二次排序

mapreduce中二次排序的思想中,我們常常需要對資料的分割槽分組進行自定義,以下就介紹一下自定義分割槽分組的簡單實現 1 自定義分割槽 public class demopartitionerextends partitioner return 4 要注意的是 設定了分割槽之後,reduce任務...

自定義樣式View 二 自定義Button

android中自帶的 button 樣式比較醜,為了美化 button 可使用一下方法。實現效果如下 自定義 button 實現效果 1.自定義button 背景選擇器 2.自定義buton 素材 3.自定義button 背景 我們不是牛逼的程式設計師,我們只是程式開發中的墊腳石。我們不傳送紅包,...