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

您的位置:首頁技術文章
文章詳情頁

Spring注解配置AOP導致通知執行順序紊亂解決方案

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

今天在測試Spring的AOP時,發現使用注解配置AOP的方式會導致通知的執行順序紊亂。【最終通知居然在異常通知之前執行了】

Spring注解配置AOP導致通知執行順序紊亂解決方案

測試代碼

(1)定義TargetInterface目標接口

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

(2)定義TargetImpl目標類

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

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

@Component('myAspect')//定義切面類@Aspect//聲明當前類是切面類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)運行結果:

Spring注解配置AOP導致通知執行順序紊亂解決方案

【最終通知在異常通知之前執行了!!!】

(7)解決方法:

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

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

@Component('myAspect')//定義切面類@Aspect//聲明當前類是切面類public class TargetAspect {//定義切點表達式@Pointcut('execution(* com.ahzyy.target.impl.*.*(..))')public void pt() {}@Around('pt()')public Object aroundNotice(ProceedingJoinPoint pjp) { System.out.println('環繞通知'); 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)運行結果

Spring注解配置AOP導致通知執行順序紊亂解決方案

[運行順序正確]

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | 智能楼宇-楼宇自控系统-楼宇智能化-楼宇自动化-三水智能化 | 实战IT培训机构_IT培训班选大学生IT技术培训中心_中公优就业 | 继电器模组-IO端子台-plc连接线-省配线模组厂家-世麦德 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 铝箔袋,铝箔袋厂家,东莞铝箔袋,防静电铝箔袋,防静电屏蔽袋,防静电真空袋,真空袋-东莞铭晋让您的产品与众不同 | 杰福伦_磁致伸缩位移传感器_线性位移传感器-意大利GEFRAN杰福伦-河南赉威液压科技有限公司 | 广州展览制作|展台制作工厂|展览设计制作|展览展示制作|搭建制作公司 | 新密高铝耐火砖,轻质保温砖价格,浇注料厂家直销-郑州荣盛窑炉耐火材料有限公司 | 超声骨密度仪-动脉硬化检测仪器-人体成分分析仪厂家/品牌/价格_南京科力悦 | 武汉不干胶印刷_标签设计印刷_不干胶标签印刷厂 - 武汉不干胶标签印刷厂家 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 行业分析:提及郑州火车站附近真有 特殊按摩 ?2025实地踩坑指南 新手如何避坑不踩雷 | J.S.Bach 圣巴赫_高端背景音乐系统_官网 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 桁架机器人_桁架机械手_上下料机械手_数控车床机械手-苏州清智科技装备制造有限公司 | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | 购买舔盐、舔砖、矿物质盐压块机,鱼饵、鱼饲料压块机--请到杜甫机械 | 精密光学实验平台-红外粉末压片机模具-天津博君| 酒水灌装机-白酒灌装机-酒精果酒酱油醋灌装设备_青州惠联灌装机械 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 999范文网_优质范文下载写作帮手 | PSI渗透压仪,TPS酸度计,美国CHAI PCR仪,渗透压仪厂家_价格,微生物快速检测仪-华泰和合(北京)商贸有限公司 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 旋振筛_不锈钢旋振筛_气旋筛_旋振筛厂家—新乡市大汉振动机械有限公司 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | 衬氟旋塞阀-卡套旋塞阀-中升阀门首页 | 德国BOSCH电磁阀-德国HERION电磁阀-JOUCOMATIC电磁阀|乾拓百科 | 无负压供水设备,消防稳压供水设备-淄博创辉供水设备有限公司 | 铝镁锰板厂家_进口钛锌板_铝镁锰波浪板_铝镁锰墙面板_铝镁锰屋面-杭州军晟金属建筑材料 | 防火门-专业生产甲级不锈钢钢质防火门厂家资质齐全-广东恒磊安防设备有限公司 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 淘气堡_室内儿童乐园_户外无动力儿童游乐设备-高乐迪(北京) | 多米诺-多米诺世界纪录团队-多米诺世界-多米诺团队培训-多米诺公关活动-多米诺创意广告-多米诺大型表演-多米诺专业赛事 | 成都中天自动化控制技术有限公司 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 |