baidu_25526097
baidu_25526097
采纳率0%
2018-12-14 04:13 阅读 2.4k

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

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

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • u013221181 假人大哥 2018-12-14 07:29

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

    点赞 1 评论 复制链接分享
  • qq_16127313 爱码少年 2018-12-14 04:18

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

    点赞 评论 复制链接分享

相关推荐