AOP配置通知失效原因

这是由于spring只对自己创建或者管理的bean进行拦截,如果action没有被org.springframework.web.struts.DelegatingActionProxy托管的话,通知是会失效的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AOP 可能会失效的场景主要有以下几种: 1. 目标对象的方法没有被调用:如果目标对象的方法没有被调用,那么 AOP 就不会生效。这可能是因为代码中逻辑错误、调用了错误的方法或者缺少必要的配置原因所致。 2. 目标对象的方法没有被代理:如果目标对象的方法没有被代理,那么 AOP 就不会生效。这可能是因为目标对象没有实现任何接口,而使用了 JDK 动态代理,或者没有使用 Spring 提供的代理工厂进行代理而直接使用了 new 关键字创建了目标对象等原因所致。 3. AOP 配置错误:如果 AOP 配置错误,那么 AOP 就不会生效。这可能是因为切点表达式写错、通知类型配置错误、切面顺序配置错误等原因所致。 4. 代理对象的作用域错误:如果代理对象的作用域错误,那么 AOP 就不会生效。例如,将代理对象的作用域配置为 prototype,那么每次从容器中获取代理对象时都会创建一个新的代理对象,这会导致 AOP 失效。 5. 代理对象的类型错误:如果代理对象的类型错误,那么 AOP 就不会生效。例如,将代理对象的类型配置为目标对象的类型而不是接口类型,这会导致使用 JDK 动态代理时 AOP 失效。 综上所述,AOP 可能会失效原因主要包括目标对象的方法没有被调用、目标对象的方法没有被代理、AOP 配置错误、代理对象的作用域错误和代理对象的类型错误等。在使用 AOP 时应注意避免这些问题,并进行相应的排查和调试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值