真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

springAOP的Around增強(qiáng)實(shí)現(xiàn)方法是什么

這篇文章主要介紹“spring AOP的Around增強(qiáng)實(shí)現(xiàn)方法是什么”,在日常操作中,相信很多人在spring AOP的Around增強(qiáng)實(shí)現(xiàn)方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”spring AOP的Around增強(qiáng)實(shí)現(xiàn)方法是什么”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

創(chuàng)新互聯(lián)建站專注于成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點(diǎn)出發(fā),讓客戶在網(wǎng)絡(luò)營(yíng)銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對(duì)待客戶,用專業(yè)的服務(wù)創(chuàng)造價(jià)值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。

一 配置

               

二 切面類

package org.crazyit.app.aspect;import org.aspectj.lang.annotation.*;import org.aspectj.lang.*;// 定義一個(gè)切面@Aspectpublic class TxAspect{  // 匹配org.crazyit.app.service.impl包下所有類的、  // 所有方法的執(zhí)行作為切入點(diǎn)  @Around("execution(* org.crazyit.app.service.impl.*.*(..))")  public Object processTx(ProceedingJoinPoint jp)    throws java.lang.Throwable  {    System.out.println("執(zhí)行目標(biāo)方法之前,模擬開始事務(wù)...");    // 獲取目標(biāo)方法原始的調(diào)用參數(shù)    Object[] args = jp.getArgs();    if(args != null && args.length > 1)    {      // 修改目標(biāo)方法的第一個(gè)參數(shù)      args[0] = "【增加的前綴】" + args[0];    }    // 以改變后的參數(shù)去執(zhí)行目標(biāo)方法,并保存目標(biāo)方法執(zhí)行后的返回值    Object rvt = jp.proceed(args);    System.out.println("執(zhí)行目標(biāo)方法之后,模擬結(jié)束事務(wù)...");    // 如果rvt的類型是Integer,將rvt改為它的平方    if(rvt != null && rvt instanceof Integer)      rvt = (Integer)rvt * (Integer)rvt;    return rvt;  }}

三 接口

Hello

package org.crazyit.app.service;public interface Hello {   // 定義一個(gè)簡(jiǎn)單方法,模擬應(yīng)用中的業(yè)務(wù)邏輯方法   void foo();   // 定義一個(gè)addUser()方法,模擬應(yīng)用中的添加用戶的方法   int addUser(String name, String pass);}

World

package org.crazyit.app.service;public interface World {   // 定義一個(gè)簡(jiǎn)單方法,模擬應(yīng)用中的業(yè)務(wù)邏輯方法   public void bar();}

四 實(shí)現(xiàn)類

HelloImpl

package org.crazyit.app.service.impl;import org.springframework.stereotype.Component;import org.crazyit.app.service.*;@Component("hello")public class HelloImpl implements Hello {  // 定義一個(gè)簡(jiǎn)單方法,模擬應(yīng)用中的業(yè)務(wù)邏輯方法  public void foo() {    System.out.println("執(zhí)行Hello組件的foo()方法");  }  // 定義一個(gè)addUser()方法,模擬應(yīng)用中的添加用戶的方法  public int addUser(String name, String pass) {    System.out.println("執(zhí)行Hello組件的addUser添加用戶:" + name);    return 20;  }}

WorldImpl

package org.crazyit.app.service.impl;import org.springframework.stereotype.Component;import org.crazyit.app.service.*;@Component("world")public class WorldImpl implements World {  // 定義一個(gè)簡(jiǎn)單方法,模擬應(yīng)用中的業(yè)務(wù)邏輯方法  public void bar() {    System.out.println("執(zhí)行World組件的bar()方法");  }}

五 測(cè)試類

package lee;import org.springframework.context.*;import org.springframework.context.support.*;import org.crazyit.app.service.*;public class BeanTest {  public static void main(String[] args) {    // 創(chuàng)建Spring容器    ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");    Hello hello = ctx.getBean("hello", Hello.class);    hello.foo();    hello.addUser("孫悟空", "7788");    World world = ctx.getBean("world", World.class);    world.bar();  }}

六 測(cè)試結(jié)果

執(zhí)行目標(biāo)方法之前,模擬開始事務(wù)...執(zhí)行Hello組件的foo()方法執(zhí)行目標(biāo)方法之后,模擬結(jié)束事務(wù)...執(zhí)行目標(biāo)方法之前,模擬開始事務(wù)...執(zhí)行Hello組件的addUser添加用戶:【增加的前綴】孫悟空?qǐng)?zhí)行目標(biāo)方法之后,模擬結(jié)束事務(wù)...addUser()的返回值為:400執(zhí)行目標(biāo)方法之前,模擬開始事務(wù)...執(zhí)行World組件的bar()方法執(zhí)行目標(biāo)方法之后,模擬結(jié)束事務(wù)...

到此,關(guān)于“spring AOP的Around增強(qiáng)實(shí)現(xiàn)方法是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


當(dāng)前標(biāo)題:springAOP的Around增強(qiáng)實(shí)現(xiàn)方法是什么
當(dāng)前網(wǎng)址:http://weahome.cn/article/pdcpie.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部