昨天在騰訊課堂看springboot的視頻,老師隨口提問,尼瑪竟然回答錯了。特此記錄!
問題:
Spring web項目如果程序啟動時出現異常,調用的是aop中哪類通知?
正確答案是:
異常返回通知。
回答問題的關鍵是,你得知道aop有哪幾種通知類型吧!
spring aop通知(advice)分成五類:
前置通知[Before advice]:
在連接點前面執行,前置通知不會影響連接點的執行,除非此處拋出異常。
正常返回通知[After returning advice]:
在連接點正常執行完成后執行,如果連接點拋出異常,則不會執行。
異常返回通知[After throwing advice]:
在連接點拋出異常后執行。
返回通知[After (finally) advice]:
在連接點執行完成后執行,不管是正常執行完成,還是拋出異常,都會執行返回通知中的內容。
環繞通知[Around advice]:
環繞通知圍繞在連接點前后,比如一個方法調用的前后。這是最強大的通知類型,能在方法調用前后自定義一些操作。環繞通知還需要負責決定是繼續處理join point(調用ProceedingJoinPoint的proceed方法)還是中斷執行。