Spring AOP的一个具体例子
新建一个Logging类:
我希望我的业务类的Java代码的方法 , 在执行前 , 执行后 , 返回方法后 , 以及抛出异常后 , 能够执行一些hook代码 。 这些hook代码就写在这个Logging类的对应方法里:
*beforeAdvice
【Spring AOP的一个具体例子】*afterAdvice
*afterReturningAdvice
*AfterThrowingAdvice

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

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

文章图片
(2)定义一个aspect , ref属性指向loggingBean:

文章图片
pointcut:连接点 , 指定哪些切入点应该被执行 。 ID为selectAll , 结合expression表达式属性 , 说明期望logging的逻辑被织入所有advice并执行 。
(3)在com.sap.*下的所有bean的方法执行之前 , 执行loggingbean的beforeAdvice方法 。 以此类推 , 在com.sap.*下的所有bean的方法执行之后但尚未返回时 , 执行loggingbean的afterAdvice方法 。

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

文章图片
【来源:汪子熙的游泳故事】
声明:转载此文是出于传递更多信息之目的 。 若有来源标注错误或侵犯了您的合法权益 , 请作者持权属证明与本网联系 , 我们将及时更正、删除 , 谢谢 。 邮箱地址:newmedia@xxcb.cn
推荐阅读
- 腾讯控股的保险代理平台“微保”被深圳银保监局处罚
- 成龙的功夫是杂技,洪金宝胖的不灵活,周比利评价两人实战能力
- 凉茶|凉茶最大的问题不是添加西药,而是冒充饮料
- 台风|里弗斯谈独行侠:不会忽视有联盟前五球员的球队
- 高考遇洪水,交警铁骑送 景德镇考生的"国宾待遇"
- 未来的大学生活“长啥样”? 来看学长为你写下的万字指南
- 不起眼的朗姐|和老人出去旅游,为什么会觉得心累?网友:只要老妈身体允许以后还要带她去,哈哈哈哈
- 粤游记|旅游就该诗酒趁年华,带你一起到东京,我们玩点不一样的!
- 三分钟游世界|云南新走红一座公园,门票高达100元,但去过的游客都说好
- 识别“95”号段中的“李鬼” 这些小技巧要掌握!
