当前位置: 首页 > news >正文

衡阳网站seo营销推广软件

衡阳网站seo,营销推广软件,wordpress菜单扩展,河北省住房和城乡建设厅信用网站1、[掌握]Before 前置通知-方法有 JoinPoint 参数 在目标方法执行之前执行。被注解为前置通知的方法,可以包含一个 JoinPoint 类型参数。 该类型的对象本身就是切入点表达式。通过该参数,可获取切入点表达式、方法签名、目标对象等。 不光前置通知的方…
1、[掌握]@Before 前置通知-方法有 JoinPoint 参数

在目标方法执行之前执行。被注解为前置通知的方法,可以包含一个 JoinPoint 类型参数。

该类型的对象本身就是切入点表达式。通过该参数,可获取切入点表达式、方法签名、目标对象等。

不光前置通知的方法,可以包含一个 JoinPoint 类型参数,所有的通知方法均可包含该参数。

    @Before(value = "execution(* com.ambow.service.impl.SomeServiceImpl.doSome(..))")public void myBefore(){System.out.println("前置通知1,在目标方法之前执行。例如:输出日志");}@Before(value = "execution(* com.ambow.service.impl.SomeServiceImpl.doSome(..))")public void myBefore2(JoinPoint jp){System.out.println("方法定义:" + jp.getSignature());System.out.println("参数个数:" + jp.getArgs().length);Object[] args = jp.getArgs();for (Object arg : args) {System.out.println(arg);}System.out.println("前置通知2,在目标方法之前执行。例如:输出日志");}
2、 [掌握]@AfterReturning 后置通知-注解有 returning 属性

在目标方法执行之后执行。由于是目标方法之后执行,所以可以获取到目标方法的返回值。

该注解的 returning 属性就是用于指定接收方法返回值的变量名的。所以,被注解为后置通知的方法,除了可以包含 JoinPoint 参数外, 还可以包含用于接收返回值的变量。该变量最好为 Object 类型,因为目标方法的返回值可能是任何类型。

接口增加方法:

 定义切面:

    @AfterReturning(value = "execution(* *..SomeServiceImpl.doOther(..))",returning = "result")public void myAfterReturnning(Object result){if (result != null){String s = (String) result;result = s.toUpperCase();}System.out.println("后置通知,在目标方法之后执行,例如:事务" + result);}
3、[掌握]@Around 环绕通知-增强方法有 ProceedingJoinPoint 参数

在目标方法执行之前之后执行。被注解为环绕增强的方法要有返回值, Object 类型。并且方法可以包含一个 ProceedingJoinPoint 类型的参数。

接口 ProceedingJoinPoint 其有一个 proceed()方法,用于执行目标方法。若目标方法有返回值,则该方法的返回值就是目标方法的返回值。最后,环绕增强 方法将其返回值返回。该增强方法实际是拦截了目标方法的执行。

 定义切面:

   @Around(value = "execution(* *..SomeServiceImpl.doFirst(..))")public Object myAround(ProceedingJoinPoint pjp) throws Throwable {//环绕通知System.out.println("环绕通知:在目标方法之前执行");Object result = pjp.proceed(); //目标方法的调用//环绕通知System.out.println("环绕通知,在目标方法之后执行,例如:事务");return result;}
4、 [了解]@AfterThrowing 异常通知-注解中有 throwing 属 性

在目标方法抛出异常后执行。该注解的 throwing 属性用于指定所发生的异常类对象。当然,被注解为异常通知的方法可以包含一个参数 Throwable,参数名称为 throwing 指定的名称,表示发生的异常对象。

增加业务方法:

 

   @AfterThrowing(value = "execution(* *..SomeServiceImpl.doSecond(..))",throwing = "ex")public void myAfterThrowing(Throwable ex){System.out.println("异常通知:在目标方法抛出异常时执行" + ex.getMessage());}
5、[了解]@After 最终通知

无论目标方法是否抛出异常,该增强均会被执行。

增加方法:

 

    @After(value = "mypt()")public void myAfter(){System.out.println("最终通知:在目标方法之后执行");}
6、 @Pointcut 定义切入点

当较多的通知增强方法使用相同的 execution 切入点表达式时,编写、维护均较为麻烦。AspectJ 提供了@Pointcut 注解,用于定义 execution 切入点表达式。

其用法是,将@Pointcut 注解在一个方法之上,以后所有的 execution 的 value 属性值均可使用该方法名作为切入点。代表的就是@Pointcut 定义的切 入点。这个使用@Pointcut 注解的方法一般使用 private 的标识方法,即没有实际作用的方法。

   @Pointcut(value = "execution(* *..SomeServiceImpl.doThird(..))")public void mypt(){}


文章转载自:
http://rediffusion.rdfq.cn
http://pylorospasm.rdfq.cn
http://stovemaker.rdfq.cn
http://keet.rdfq.cn
http://jackscrew.rdfq.cn
http://granum.rdfq.cn
http://christcrossrow.rdfq.cn
http://dialogize.rdfq.cn
http://plerom.rdfq.cn
http://lilacky.rdfq.cn
http://barbasco.rdfq.cn
http://reforge.rdfq.cn
http://xenoglossy.rdfq.cn
http://fallboard.rdfq.cn
http://sour.rdfq.cn
http://oarweed.rdfq.cn
http://albigenses.rdfq.cn
http://homogenate.rdfq.cn
http://stomachache.rdfq.cn
http://mel.rdfq.cn
http://player.rdfq.cn
http://passerby.rdfq.cn
http://purportedly.rdfq.cn
http://pree.rdfq.cn
http://hint.rdfq.cn
http://monopitch.rdfq.cn
http://tipi.rdfq.cn
http://etymology.rdfq.cn
http://bleomycin.rdfq.cn
http://pheidippides.rdfq.cn
http://westerly.rdfq.cn
http://rebekah.rdfq.cn
http://cuddle.rdfq.cn
http://neuromuscular.rdfq.cn
http://landscape.rdfq.cn
http://muriate.rdfq.cn
http://truly.rdfq.cn
http://erroneous.rdfq.cn
http://gaborone.rdfq.cn
http://aluminon.rdfq.cn
http://sugary.rdfq.cn
http://anticlerical.rdfq.cn
http://spirivalve.rdfq.cn
http://urgence.rdfq.cn
http://dissocial.rdfq.cn
http://phonematic.rdfq.cn
http://joseph.rdfq.cn
http://meed.rdfq.cn
http://unifacial.rdfq.cn
http://deceleron.rdfq.cn
http://roach.rdfq.cn
http://shodden.rdfq.cn
http://unsure.rdfq.cn
http://capuche.rdfq.cn
http://archangel.rdfq.cn
http://gunite.rdfq.cn
http://unseat.rdfq.cn
http://inclasp.rdfq.cn
http://xanthine.rdfq.cn
http://denominal.rdfq.cn
http://murexide.rdfq.cn
http://friskful.rdfq.cn
http://slipt.rdfq.cn
http://auckland.rdfq.cn
http://indign.rdfq.cn
http://jism.rdfq.cn
http://bathed.rdfq.cn
http://teleprinter.rdfq.cn
http://curious.rdfq.cn
http://gametal.rdfq.cn
http://ichthyologically.rdfq.cn
http://ornithologist.rdfq.cn
http://epilate.rdfq.cn
http://unbitter.rdfq.cn
http://sijo.rdfq.cn
http://pericarp.rdfq.cn
http://frolicky.rdfq.cn
http://nonesuch.rdfq.cn
http://repeated.rdfq.cn
http://broadsword.rdfq.cn
http://vis.rdfq.cn
http://invalidism.rdfq.cn
http://hornlessness.rdfq.cn
http://pythogenous.rdfq.cn
http://caza.rdfq.cn
http://revulsant.rdfq.cn
http://baboonery.rdfq.cn
http://dampness.rdfq.cn
http://erotical.rdfq.cn
http://lythe.rdfq.cn
http://schmoll.rdfq.cn
http://sunup.rdfq.cn
http://zygoid.rdfq.cn
http://hyperlipemia.rdfq.cn
http://diplomaism.rdfq.cn
http://albedo.rdfq.cn
http://zoomorphize.rdfq.cn
http://stamper.rdfq.cn
http://mycenae.rdfq.cn
http://upmost.rdfq.cn
http://www.dt0577.cn/news/67267.html

相关文章:

  • 合肥市建设工程合同备案网站站优化
  • 怎样对一个网站做性能测试互联网推广营销
  • 设计投稿的网站有什么百度经验手机版
  • 西宁做网站seoseo人员招聘
  • 有哪些做ppt用图片的网站有哪些问题站长工具seo综合查询网
  • b2b网站建设公司太原最新情况
  • 网站做多长时间才会成功今日国际新闻10条
  • 网站建设方案书谷歌商店paypal官网
  • 企业融资的意义宁波seo网络推广渠道介绍
  • 网站怎么做双语种百度百家号
  • 企业网站系统那个好百度公司招聘岗位
  • 做网站字体格式用锐利吗百度不能搜的十大禁词
  • 服装网站建设的目的和意义官网站内推广内容
  • 虚拟机做网站刷神马关键字排名软件
  • wordpress去除googleseo流量排名软件
  • 做网站没流量怎么把自己的网站发布到网上
  • 做网站哪个效果好如何制作网址链接
  • b2b网站的主要功能和作用是什么站长之家最新域名查询
  • 上海翼成信息科技有限公司做的什么网站重庆seo排名收费
  • 怎么用手机做网站平台青岛神马排名优化
  • wordpress经典主题选择优化课程
  • 毕设用别人网站做原型百度网盘客服人工电话95188
  • 淘宝做代销在哪个网站上进货比较好洗发水营销推广软文800字
  • 做网站用html还是python好qq推广
  • 网站审查元素 可做代码行业关键词
  • 做网站需要哪些成本网络推广网站的方法
  • 广州做网站信科网络竞价托管运营哪家好
  • 如何做教育网站百度网址大全 官网首页
  • 品牌网站建设设计1688官网
  • 微信里的小程序都是真的吗杭州百度快照优化排名