电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Spring注解配置AOP導(dǎo)致通知執(zhí)行順序紊亂解決方案

瀏覽:2日期:2023-08-06 14:04:09

今天在測試Spring的AOP時,發(fā)現(xiàn)使用注解配置AOP的方式會導(dǎo)致通知的執(zhí)行順序紊亂?!咀罱K通知居然在異常通知之前執(zhí)行了】

Spring注解配置AOP導(dǎo)致通知執(zhí)行順序紊亂解決方案

測試代碼

(1)定義TargetInterface目標(biāo)接口

public interface TargetInterface {public abstract void targetProxy();}

(2)定義TargetImpl目標(biāo)類

@Component('target')public class TargetImpl implements TargetInterface {public void targetProxy() { System.out.println('target proxy ......'); int i = 1/0;//異常}}

(3)定義切面類(內(nèi)含增強方法)

@Component('myAspect')//定義切面類@Aspect//聲明當(dāng)前類是切面類public class TargetAspect {//定義切點表達式@Pointcut('execution(* com.ahzyy.target.impl.*.*(..))')public void pt() {}@Before('pt()')public void before() { System.out.println('前置通知......');}@After('pt()')public void after() { System.out.println('最終通知......');}@AfterReturning('pt()')public void afterReturning() { System.out.println('后置通知......');}@AfterThrowing('pt()')public void afterThrowing() { System.out.println('異常通知......');}}

(4)配置applicationContextAnno.xml文件

<!--配置組件掃描的包--><context:component-scan base-package='com.ahzyy'/><!--配置AOP自動代理--><aop:aspectj-autoproxy/>

(5)定義測試類

@RunWith(SpringJUnit4ClassRunner.class)//@ContextConfiguration('classpath:applicationContext.xml')@ContextConfiguration('classpath:applicationContextAnno.xml')public class AopTest {@Autowiredprivate TargetInterface target;@Testpublic void test01() { target.targetProxy();}}

(6)運行結(jié)果:

Spring注解配置AOP導(dǎo)致通知執(zhí)行順序紊亂解決方案

【最終通知在異常通知之前執(zhí)行了!!!】

(7)解決方法:

(7.1)使用xml配置方式配置AOP;

(7.2)注解使用@Around(環(huán)繞通知)方式配置AOP(修改TargetAspect類使用環(huán)繞通知);

@Component('myAspect')//定義切面類@Aspect//聲明當(dāng)前類是切面類public class TargetAspect {//定義切點表達式@Pointcut('execution(* com.ahzyy.target.impl.*.*(..))')public void pt() {}@Around('pt()')public Object aroundNotice(ProceedingJoinPoint pjp) { System.out.println('環(huán)繞通知'); Object result = null; before();//前置通知 try { result = pjp.proceed(); afterReturning();//后置通知 } catch (Throwable throwable) {afterThrowing();//異常通知 throwable.printStackTrace(); } after();//最終通知 return result;}public void before() { System.out.println('前置通知......');}public void afterReturning() { System.out.println('后置通知......');}public void afterThrowing() { System.out.println('異常通知......');}public void after() { System.out.println('最終通知......');}}

(7.3)運行結(jié)果

Spring注解配置AOP導(dǎo)致通知執(zhí)行順序紊亂解決方案

[運行順序正確]

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 天津拓展_天津团建_天津趣味运动会_天津活动策划公司-天津华天拓展培训中心 | 预制围墙_工程预制围墙_天津市瑞通建筑材料有限公司 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | elisa试剂盒-PCR试剂盒「上海谷研实业有限公司」 | 深圳货架厂家_金丽声精品货架_广东金丽声展示设备有限公司官网 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 特材真空腔体_哈氏合金/镍基合金/纯镍腔体-无锡国德机械制造有限公司 | 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | 釜溪印象网络 - Powered by Discuz! | 山东PE给水管厂家,山东双壁波纹管,山东钢带增强波纹管,山东PE穿线管,山东PE农田灌溉管,山东MPP电力保护套管-山东德诺塑业有限公司 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 深圳诚暄fpc首页-柔性线路板,fpc柔性线路板打样生产厂家 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 智能门锁电机_智能门锁离合器_智能门锁电机厂家-温州劲力智能科技有限公司 | 对辊破碎机_四辊破碎机_双齿辊破碎机_华盛铭重工 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | 新疆系统集成_新疆系统集成公司_系统集成项目-新疆利成科技 | 钢格板|镀锌钢格板|热镀锌钢格板|格栅板|钢格板|钢格栅板|热浸锌钢格板|平台钢格板|镀锌钢格栅板|热镀锌钢格栅板|平台钢格栅板|不锈钢钢格栅板 - 专业钢格板厂家 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 机构创新组合设计实验台_液压实验台_气动实训台-戴育教仪厂 | 冷油器-冷油器换管改造-连云港灵动列管式冷油器生产厂家 | 氟塑料磁力泵-不锈钢离心泵-耐腐蚀化工泵厂家「皖金泵阀」 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | FAG轴承,苏州FAG轴承,德国FAG轴承-恩梯必传动设备(苏州)有限公司 | 铜镍-康铜-锰铜-电阻合金-NC003 - 杭州兴宇合金有限公司 | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 产业规划_产业园区规划-产业投资选址及规划招商托管一体化服务商-中机院产业园区规划网 | 海外整合营销-独立站营销-社交媒体运营_广州甲壳虫跨境网络服务 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 上海小程序开发-小程序制作-上海小程序定制开发公司-微信商城小程序-上海咏熠 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 蒸压釜-陶粒板隔墙板蒸压釜-山东鑫泰鑫智能装备有限公司 | PAS糖原染色-CBA流式多因子-明胶酶谱MMP-上海研谨生物科技有限公司 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 27PR跨境电商导航 | 专注外贸跨境电商 | 三轴曲线机-端子插拔力试验机|华杰仪器| 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 | 雾度仪_雾度计_透光率雾度仪价格-三恩时(3nh)光电雾度仪厂家 |