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 背景 我們不是牛逼的程式設計師,我們只是程式開發中的墊腳石。我們不傳送紅包,...