安庆大理运城常德铜陵江西
投稿投诉
江西南阳
嘉兴昆明
铜陵滨州
广东西昌
常德梅州
兰州阳江
运城金华
广西萍乡
大理重庆
诸暨泉州
安庆南充
武汉辽宁

AOP实现一个前置通知(详细)

12月20日 栀璃鸢投稿
  1、使用aspectj框架的注解,实现前置通知,实现步骤:1。新建maven项目
  2。修改pom。xml加入依赖
  springcontext依赖,springaspects依赖(能使用aspectj框架的功能)junit
  3。创建业务接口和实现类。
  4。创建一个叫做切面类,是一个普通类
  1)在类的上面加入Aspect
  2)在类中定义方法,方法表示切面的功能。
  在方法的上面加入Aspect框架中的通知注解,例如Before(value切入点表达式)
  5。创建spring配置文件。
  1)声明目标对象
  2)声明切面类对象
  3)声明自动代理生成器
  6。创建测试类,测试目标方法执行时,增加切面的功能
  下面是切面类的具体代码:packagecom。bjpowernode。importorg。aopalliance。intercept。Jimportorg。aspectj。lang。JoinPimportorg。aspectj。lang。annotation。Aimportorg。aspectj。lang。annotation。Bimportjava。util。DAspect:切面类的注解。位置:放在某个类的上面作用:表示当前类是切面类。切面类:表示切面功能的类AspectpublicclassMyAspect{定义方法,表示切面的具体功能前置通知方法的定义1)方法是public2)方法是void3)方法名称自定义4)方法可以有参数,如果有是JoinPoint也可以没有Before:前置通知属性:value切入点表达式,表示切面的执行位置。在这个方法时,会同时执行切面的功能位置:在方法的上面特点:1)执行时间:在目标方法之前先执行的。2)不会影响目标方法的执行。3)不会修改目标方法的执行结果。Before(valueexecution(publicvoidcom。bjpowernode。service。impl。SomeServiceImpl。doSome(String,Integer)))publicvoidmyBefore(){切面的代码。System。out。println(前置通知,切面的功能,在目标方法之前先执行:newDate());System。out。println(r);}Before(valueexecution(voidcom。bjpowernode。service。impl。SomeServiceImpl。doSome(String,Integer)))publicvoidmyBefore1(){切面的代码。System。out。println(前置通知,切面的功能,在目标方法之前先执行:newDate());System。out。println();}切面类中的通知方法,可以有参数JoinPoint必须是他。JoinPoint:表示正在执行的业务方法。相当于反射中Method使用要求:必须是参数列表的第一个作用:获取方法执行时的信息,例如方法名称,方法的参数集合Before(valueexecution(。。SomeServiceImpl。do(。。)))publicvoidmyBefore2(JoinPointjp){获取方法的定义System。out。println(前置通知中,获取目标方法的定义:jp。getSignature());System。out。println(前置通知中,获取方法名称jp。getSignature()。getName());获取方法执行时参数Objectargs〔〕jp。getArgs();数组中存放的是方法的所有参数for(Objectobj:args){System。out。println(前置通知,获取方法的参数:obj);}StringmethodNamejp。getSignature()。getName();if(doSome。equals(methodName)){切面的代码。System。out。println(doSome输出日志前置通知,切面的功能,在目标方法之前先执行:newDate());}elseif(doOther。equals(methodName)){System。out。println(doOther前置通知,作为方法名称,参数的记录。);}}}
  下面是XML配置文件代码:?xmlversion1。0encodingUTF8?beansxmlnshttp:www。springframework。orgschemabeansxmlns:xsihttp:www。w3。org2001XMLSchemainstancexmlns:aophttp:www。springframework。orgschemaaopxsi:schemaLocationhttp:www。springframework。orgschemabeanshttp:www。springframework。orgschemabeansspringbeans。xsdhttp:www。springframework。orgschemaaophttps:www。springframework。orgschemaaopspringaop。xsd!声明目标对象beanidsomeServiceclasscom。bjpowernode。service。impl。SomeServiceImpl!声明切面类对象beanidmyAspectclasscom。bjpowernode。handle。MyAspect!声明自动代理生成器:目的是创建目标对象的代理(就是06项目中的ServiceProxy)调用aspectj框架中的功能,寻找spring容器中的所有目标对象,把每个目标对象加入切面类中的功能,生成代理。这个代理对象是修改的内存中的目标对象,这个目标对象就是代理对象(ServiceProxy)beans
投诉 评论 转载

vivoNEX5再次确认,不仅有5600mAh电池4nm芯片vivo手机是大家最熟悉的国产品牌之一,一直以来它的研发力和创造力都还是比较强的,它凭借着超高的颜值和出色的影像系统吸引了不少消费者,深受消费的青睐和认可。不可否认的是,viv……从zfold3可以猜到note21的方向三星发布了zfold3之后,引发了我的思考,一个折叠屏,支持手写笔,防水,只是外屏比例还是不够实用,还是有一些遗憾,我猜是留给note21准备的。预测一波,note21是……支付宝的套路最近几天,同事和朋友们纷纷在传支付宝扫码可以领红包和支付宝刷脸有活动的消息。今天中午,闲来无事的我约上同事一起走进了单位附近的神利便利超市。进门后,我首先向店员询问……太有牌面了!全年大卖的moto手机,即将上春晚给全国人民拜年要说过年一家人最幸福的时刻,除了和家人一起吃年夜饭之外想必就是在大年三十的晚上坐在电视前看春晚了。而在每年春晚播出期间都会有企业向全国人民拜年,今年联想moto就将登陆央视春晚……拥抱数字技术加快产业转型来源:人民网人民日报这头奶牛的产奶量最近波动比较大,要继续观察这头奶牛最近的状况很好,目前的喂养方案不用变这头奶牛最近吃得很少,该调整饲料了在伊利牧场,有几十年养牛经验的……那么多奥运健儿,小米为什么会签约苏炳添代言,而不是其他人呢?我觉得小米选择炳添苏代言,而不选择其他人代言的原因有两点,一是年龄,二是速度。首先为什么说年龄呢,苏炳添1989年生,百度百科显示今年他已经31岁了,在这个年纪可以说作为……华为手环33Pro今日开售独立GPSNFC支付3月14日华为在北京举办新品发布会,除了推出nova4e外,还带来了华为手环3和华为手环3Pro,售价分别是269元和399元。3月21日,这两款新品将于当天10:08分……AOP实现一个前置通知(详细)1、使用aspectj框架的注解,实现前置通知,实现步骤:1。新建maven项目2。修改pom。xml加入依赖springcontext依赖,springaspec……2022我们依然看好这四大赛道首先就是新能源汽车领域的锂电板块,电动汽车的已经越来越得到更多人都认可,就算你再爱燃油车,预计到2030年,全国将会有更多的城市加入禁售燃油车的序列。唯一不好的就是上游原……马斯克特斯拉Autopilot和FSD没有误导消费者来源:盖世汽车谭璇据英国《金融时报》报道,12月15日,特斯拉首席执行官埃隆马斯克表示,他认为全球没有哪个公司的首席执行官像他一样对安全问题如此关注。几天前,马斯克……双12买什么手机?还是先看看双11卖得最多的十款手机双12开始了,大家可能不知道买什么手机好,那不如看看双11什么手机卖的最多,我为大家推荐10款双11卖得最多的手机,供大家参考。网上也有人通过京东联盟统计了京东自营店具体的销量……3000元能买到什么电视?OPPOK9电视65英寸评测5月6日,OPPO召开线上发布会并发布了OPPOK9手机、OPPOK9电视等多款产品,其中OPPOK9电视被大家广为关注,43英寸首发售价1799元,55英寸售价1999元,6……
iPhone13下月就来,还有这些重磅新品深度学习,耳聪言慧全国政协经济委员会调研深聪智能你会为孩子选择iPhone还是华为手机呢?麒麟芯片停产许久,小米手机透露出国产芯片现状,背后信息量巨大美国韭菜收割机,贾跃亭把美国韭菜也给收割了JavaScript02关于跨境电商那点事!你知道几个?国产高端旗舰上架秒光,2亿像素181TB,只要6998元OPPO虚拟SIM卡专利获授权,无需使用卡托或卡座即可实现S996涉嫌违法,国家开始出手整治让职工加班加点违法行为华为Mate50系列传来最新消息PiperSandler将Alphabet(GOOGL。US

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找七猫云易事利