spring的aop切面拦截第三方jar的问题

@Pointcut("execution(public * org.hibernate..*.*(..) ) ")

我想通过上面的切面路径拦截hibernate的方法的执行,但是一直拦截不到,这样写有问题吗?

拦截自己写的类的方法可以,拦截上面的失效,请高手指点下

2个回答

Spring aop拦截的是被Spring IOC容器管理的bean. 原理是这些bean在spring里都是以代理对象的形式存在,这些代理对象的方法被调用的时候,会执行Spring定义的一些方法.
如果确实要拦截hibernate, 可以自己创建那个对象的代理, 并且确保调用的地方都是用这个代理去执行

hibernate 包应该不是spring直接管理的吧,不是的话切面不会生效。

qq_16127313
爱码少年 是的,除非改造原来的hibernate jar, 有个参考https://blog.csdn.net/liuchuanhong1/article/details/52038681这个我没实际验证过
一年多之前 回复
baidu_25526097
baidu_25526097 一定要spring管理的才能拦截吗
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐