日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

强大的【环绕通知】

發布時間:2024/4/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 强大的【环绕通知】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

AOP (面向切面編程) :在程序運行時,動態的將代碼塊切入到某個類的某個方法的某個位置(前面、后面、發生異常時)上。

前置通知:在某個方法之前執行

后置通知:在某個方法之后執行

異常通知:在某個方法發生異常時執行

環繞通知:可以在方法之前、之后、發生異常時執行!

最終通知:不論目標方法是否發生異常都會執行

?

切點和切面:切點是:在目標方法之前這個點、目標方法之后這個點、在目標方法發生異常這個點

      切面是:在切點執行的代碼塊。

環繞通知:

  可以獲取目標方法的 完全控制權!(方法是否執行、控制參數、控制返回值)

  在使用環繞通知時,目標方法的一切信息,都可以通過invocation(invoke方法傳進去的參數名稱)參數獲取到

public class SurroundMethod implements MethodInterceptor{public Object invoke(MethodInvocation invocation) {Object result = null;try {System.out.println("環繞通知里面的【前置通知】。。。");result = invocation.proceed(); //這里相當于執行目標方法 如果不寫目標方法就不會執行// result是目標方法的返回值System.out.println("環繞通知里面的【后置通知】...");} catch (Throwable e) {System.out.println("這里是執行環繞通知里面的【異常通知】。。。");e.printStackTrace();} finally{
              System.out.println("這里是執行環繞通知里面的【最終通知】");
          }return result;//也可以返回其他 return “123”; 那么目標方法的返回值就是 "123"}}

 

在applicationContext.xml文件中的配置? 然后執行目標方法

<bean></bean> 首先目標方法所在的類和環繞通知所在類要寫進來<aop:config> <aop:pointcut expression="execution(【這里是目標方法的具體信息】public * com.service.AddStudent.addStudent())" id="addStudent1"/> <aop:advisor advice-ref="interceptMethod" pointcut-ref="addStudent1"/> </aop:config>

轉載于:https://www.cnblogs.com/DDiamondd/p/10673649.html

總結

以上是生活随笔為你收集整理的强大的【环绕通知】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。