久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

sping面向切面編程怎么實現(xiàn)引入通知

152次閱讀
沒有評論

共計 2020 個字符,預計需要花費 6 分鐘才能閱讀完成。

這篇文章主要介紹“sping 面向切面編程怎么實現(xiàn)引入通知”,在日常操作中,相信很多人在 sping 面向切面編程怎么實現(xiàn)引入通知問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”sping 面向切面編程怎么實現(xiàn)引入通知”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!

引入通知的目的就是在任意的連接點引入我想要的通知,例如前面四個通知案例的運行結(jié)果:

前置通知被調(diào)用 調(diào)用環(huán)繞通知前 hi  王大錘 調(diào)用環(huán)繞通知后 后置通知被調(diào)用 前置通知被調(diào)用 調(diào)用環(huán)繞通知前 bye  王大錘 調(diào)用環(huán)繞通知后 后置通知被調(diào)用

可以看出在被代理類 Test1Service 的 sayHello()以及 sayBye()方法(這個兩個連接點)切入通知;可是現(xiàn)在我只想在 sayHello()方法(這一個連接點)上切入通知該怎么辦呢?這就要使用到引入通知,其實說白了就是在配置文件中進行配置。(我現(xiàn)在要求環(huán)繞通知只切入到 sayHello()方法上)

修改前面案例的配置文件 beans.xml:

?xml version= 1.0 encoding= UTF-8 ?
beans xmlns= http://www.springframework.org/schema/beans
   xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance xmlns:p= http://www.springframework.org/schema/p
   xsi:schemaLocation= http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

    !– 配置被代理的對象 —
    bean id= test1Service >      property name= name value= 王大錘 /
    /bean
    !– 配置前置通知 —
    bean id= myMethodBeforeAdvice >
    !– 配置后置通知 —
    bean id= myMethodAfterAdvice >
    !– 配置環(huán)繞通知 —
    bean id= myMethodAroundAdvice >
    !– 配置異常通知 —

    bean id= myMethodThrowsAdvice >
    !– 引入通知定義通知的切入點 —
    bean id= annotationAdvice
      >      property name= advice ref= myMethodAroundAdvice /property
      property name= mappedNames
        list
          value sayHello /value
        /list
      /property
    /bean

    !– 配置代理對象(代理對象不需要我們自己寫,已經(jīng)有現(xiàn)成的 ProxyFactoryBean 類存在了)—
    bean id= proxyFactoryBean >      !– 代理接口集 —
      property name= proxyInterfaces
        list
          !–ProxyFactoryBean 類會實現(xiàn)下列接口(必須是接口的全路徑)—
          value com.hubin.aop.TestServiceInter /value
          value com.hubin.aop.TestServiceInter2 /value
        /list
      /property

      !– 把通知織入到代理對象相當于將通知和代理對象關(guān)聯(lián) —
      property name= interceptorNames
        list
          !– 必須和配置通知的 ben 的 id 對應值是相同的 —
          value myMethodBeforeAdvice /value
          value myMethodAfterAdvice /value

          !– 綁定引用通知 —
          value annotationAdvice /value
          value myMethodThrowsAdvice /value
        /list
      /property

      !– 配置被代理對象,ref 必須和配置代理對象的 id 對應值相同 —
      property name= target ref= test1Service /
    /bean
/beans

運行結(jié)果:

前置通知被調(diào)用
調(diào)用環(huán)繞通知前
hi 王大錘
調(diào)用環(huán)繞通知后
后置通知被調(diào)用
前置通知被調(diào)用
bye 王大錘
后置通知被調(diào)用

到此,關(guān)于“sping 面向切面編程怎么實現(xiàn)引入通知”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關(guān)知識,請繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-16發(fā)表,共計2020字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 平阴县| 乳山市| 娱乐| 布尔津县| 桂平市| 台前县| 临潭县| 敦煌市| 渭源县| 济宁市| 梁山县| 怀来县| 彭阳县| 沾化县| 峨边| 从化市| 房产| 福建省| 南华县| 萝北县| 凤翔县| 清苑县| 宁安市| 尚志市| 兴文县| 宜宾县| 蓬溪县| 吉木乃县| 镇宁| 治多县| 小金县| 揭阳市| 天等县| 萨嘎县| 拉萨市| 浦北县| 喀喇沁旗| 南投县| 桃江县| 安图县| 吴川市|