fujohnwang / unveil-springboot-feedbacks

《SpringBoot揭秘》一书的勘误收录以及交流等售后项目
53 stars 16 forks source link

第四章 metrics-annotation的aop拦截 #2

Closed CharlesMaster closed 8 years ago

CharlesMaster commented 8 years ago

今天刚刚收到您的书,看了第四章,metrics-annotation的aop拦截,但是AOP拦截有点小问题,就是直接调用方法的不能被拦截。这个怎么解决

fujohnwang commented 8 years ago

没理解你的问题, spring的aop本身因为实现机制上的限制, 不能拦截private之类的方法

CharlesMaster commented 8 years ago

这样子的,Spring的AOP实现方式有两种:1、Java代理方式;2、Cglib动态增强方式。被Spring的AOP增强的类,在同一个类的内部方法调用时,其被调用方法上的增强通知将不起作用。根本原因是在于代理的时候,没有判断是否本地调用。 拦截是bean上做封装的拦截,如果是内部调用,即使是public方法也不会被拦截到。 我的问题就是内部直接调用的方法不能被拦截。

fujohnwang commented 8 years ago

这个问题好像跟本书没有关系哦, 请自己多做做spring框架里AOP相关的功课吧 ;0)

CharlesMaster commented 8 years ago

OK

fujohnwang commented 8 years ago

其实我记得ref文档里有说明的,但我很久不在一线钻研这些了,所以,没法给你详细答案 ;)