采用@Aspect、@Before、@After、@Around、@Pointcut、这类注解实现的AOP,存在一些局限性
1.只能用在spring容器管理的类上面进行aop,如@Controller、@Service、@Component、@Reprository等。
2.切入点只能在方法级别。
3.只有被代理的外部类的方法才能被拦截,而内部类调用的函数,才不行。
主要原因是其命名用CGlib的AOP的Proxy实现的。
JDK动态代理是模拟接口实现的方式,cglib是模拟子类继承的方式