前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring AOP的一个具体例子

Spring AOP的一个具体例子

作者头像
Jerry Wang
发布2020-07-27 17:15:13
3560
发布2020-07-27 17:15:13
举报

新建一个Logging类:

我希望我的业务类的Java代码的方法,在执行前,执行后,返回方法后,以及抛出异常后,能够执行一些hook代码。这些hook代码就写在这个Logging类的对应方法里:

  • beforeAdvice
  • afterAdvice
  • afterReturningAdvice
  • AfterThrowingAdvice

业务代码就是Student Bean:在这个MainApp.java里,调用了Student Bean的两个方法:getName和getAge. 我期望Logging类里定义的四个方法,可以被AOP织入。

Beans.xml的内容要点: (1) 定义aop的命名空间:

(2) 定义一个aspect,ref属性指向logging Bean:

pointcut:连接点,指定哪些切入点应该被执行。ID为selectAll,结合expression表达式属性,说明期望logging的逻辑被织入所有advice并执行。

(3) 在com.sap.*下的所有bean的方法执行之前,执行logging bean的beforeAdvice方法。以此类推,在com.sap.*下的所有bean的方法执行之后但尚未返回时,执行logging bean的afterAdvice方法。

从调用栈观察到,Cglib也参与了pointcut的动态织入过程。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
日志服务
日志服务(Cloud Log Service,CLS)是腾讯云提供的一站式日志服务平台,提供了从日志采集、日志存储到日志检索,图表分析、监控告警、日志投递等多项服务,协助用户通过日志来解决业务运维、服务监控、日志审计等场景问题。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档