Spring Aop中的一些注意事项

  1. 切面Aspect中声明的execution切点针对接口及实现类都有效,原理是spring在实例化bean是判断是否生成代理类是根据bean的class及class的接口一同判断其中的方法是否是切点。

  2. 针对接口上的注解的切点有可能会失效,匹配不上实现类,因为实现类上不会继承注解,也没有去检查父类或接口的注解。对于cglib代理的情况,若子类没有覆写父类中带注解的方法,那么检查时是针对的父类中带注解的方法,能够生成代理并使aop生效,其他情况还是不生效。

  3. 通过FactoryBean得到的bean也是可以被aop代理的。

你可能感兴趣的:(Spring Aop中的一些注意事项)