1. 建立通知:定義乙個介面
2.編寫乙個sleephelper類,它裡面包含了睡覺的輔助工作,用aop術語來說它就應該是通知public inte***ce sleepable
然後寫乙個human類,他實現了這個介面
public human implements sleepable
}
public class sleephelper implements methodbeforeadvice,afterreturningadvice
public void afterreturning(object rturnvalue, method method, object arguments,
object target) throws throwable
}
然後在spring配置檔案中進行配置:
//定義切點的常用的兩種方式:1)使用正規表示式 2)使用aspectj表示式,
//這裡用正規表示式
// proxyfactorybean是乙個**,我們可以把它轉換為
//proxyinte***ces中指定的實現該inte***ce的**物件
**類
public class stutest
}
用@aspect的註解來標識切面
@aspect//該類為切面
public class myaspect
//後置增強
@afterreturning(value="execution(public * *(..))")
public void myafterreturning()
//異常增強
@afterthrowing(value="execution(public * *(..))")
public void myafterthrowing()
//環繞增強
@around(value="execution(public * *(..))")
public void myaround(proceedingjoinpoint jp) catch (throwable e)
system.out.println("環繞後增強");
}//最終增強
@after(value="execution(public * *(..))")
public void myafterlogger()
}
spring配置檔案:
測試類
public class stutest
}
定義乙個aop通知者
後通知返回後通知
丟擲後通知
周圍通知
定義乙個切面
前通知頂級配置元素,類似於這種東西
定義乙個切點
public class myaspect
public string myafterreturning(string returning)
}
spring的配置檔案:public class iserviceimpl implements iservice
public string dofirst()
}
測試類
public class springtest
}
四種定址方式
直接在指令中給出運算元,不需要儲存單元,執行速度快,但是顯然資料也不能冗長,通用型性差,一般用來指定一些要求不高的整形整數。運算元 於暫存器,結果也寫回暫存器。顯然這個主要用到暫存器,這也是他的名字的由來。指令給出有效位址,這使得位址碼會很長,通用性也差。指令中給出的是運算元位址的位址,顯然就是要根...
四種監控方式
四種方式 logging tracing metrics healthcheck 1 研發成本來說 logging 比較低 metrics 一般 tracing比較高 2 運維成本來說 logging 比較高 3 相應能力來 metrics 比較好 4 解決問題來說 tracing 比較好 logg...
四種方式實現SQLServer 分頁查詢
sqlserver 的資料分頁 假設現在有這樣的一張表 create table test id int primary key not null identity,names varchar 20 然後向裡面插入大約1000條資料,進行分頁測試 假設頁數是10,現在要拿出第5頁的內容,查詢語句如下...