Spring中常用三種通知

2021-08-30 03:46:39 字數 2137 閱讀 3792

(1)前置通知

介面:org.springframework.aop.methodbeforeadvice

使用前置通知可以在聯結點執行前進行自定義的操作。不過,spring裡只有一種聯結點,即方法呼叫,所以前置通知事實上就是讓你能在方法呼叫前進行一些操作。前置通知可以訪問呼叫的目標方法,也可以對該方法的引數進行操作,不過它不能影響方法呼叫本身。

示例:

ihello介面

public inte***ce ihello

ihello介面實現

public class hellospeaker implements ihello }

ihello實現**

public class logbeforeadvice implements methodbeforeadvice }

spring配置檔案

class="onlyfun.caterpillar.logbeforeadvice"/>

class="onlyfun.caterpillar.hellospeaker"/>

class="org.springframework.aop.framework.proxyfactorybean">

onlyfun.caterpillar.ihello

logbeforeadvice

測試類

public class springaopdemo }

(2)後置通知(或返回後通知)

介面:org.springframework.aop.afterreturningadvice

後置通知在聯結點處的方法呼叫已經完成,並且已經返回乙個值時執行,後置通知可以訪問呼叫的目標方法,以及該方法的引數和返回值。因為等到通知執行時該方法已經呼叫,後置通知完全不能影響方法呼叫本身。

示例:

ihello介面

public inte***ce ihello

ihello介面實現

public class hellospeaker implements ihello }

ihello實現**

public class logafteradvice implements afterreturningadvice }

spring配置檔案

class="onlyfun.caterpillar.logafteradvice"/>

class="onlyfun.caterpillar.hellospeaker"/>

class="org.springframework.aop.framework.proxyfactorybean">

onlyfun.caterpillar.ihello

logafteradvice

測試類public class springaopdemo }

(3)包圍通知

介面:org.aopalliance.intercept.methodinterceptor

spring中的包圍通知模aop聯盟的「方法***」標準。包圍通知可以在目標方法之前和之後動行,我們也可以定義在什麼時候呼叫目標方法。如果需要,我們也可以另寫自己的邏輯而完全不呼叫目標方法。

示例:

ihello介面

public inte***ce ihello

ihello介面實現

public class hellospeaker implements ihello }

ihello實現**

public class loginterceptor implements methodinterceptor

finally

return result; }

spring配置檔案

class="onlyfun.caterpillar.loginterceptor"/>

class="onlyfun.caterpillar.hellospeaker"/>

class="org.springframework.aop.framework.proxyfactorybean">

onlyfun.caterpillar.ihello

loginterceptor

測試類public class springaopdemo

winphone三種推送通知

原生通知 raw notification 原生通知用於裝置中真正在執行的程式。它允許你在使用者使用時實時更新使用者介面。吐司通知 toast notification 無論程式是否在執行都會收到這個訊息,但在程式執行時彈出吐司訊息可能會有點兒討人厭。我會在下面的例子中演示。吐司通知不能更新你程式的...

python中常用的三種線性回歸

from sklearn.linear model import linearregression import numpy as np import matplotlib.pyplot as plt x 1 4 3 輸入x y 3,5,3 輸入y lr linearregression fit x...

spring常用的三種依賴注入方式

日常開發中,某個類需要依賴其它類的方法,通常是new乙個依賴類再呼叫類例項的方法,這種開發存在的問題是new的類例項不好統一管理 spring提出了依賴注入的思想,即依賴類不由程式設計師例項化,而是通過spring容器幫我們new指定例項,並且將例項注入到需要該物件的類中。依賴注入的另一種說法是 控...