1、AOP的概念
在不修改原有代码的情况下,增强跟主要业务功能没有关系的公共功能代码到指定的位置,这种编程的方式叫AOP。
2、AOP的原理
- AOP的底层采用的是代理,代理分为JDK代理和cglib代理。
- 动态代理的核心代码
图一
3.常见错误
图二
问题所在,获取的Interfaces不是我们需要代理对象的Interface,用接口的实现类调用.class.getInterfaces方法获取的就是该实现类所有实现接口的一个数组。
解决方法:如图一所示,将接口名改为实现类名。
在不修改原有代码的情况下,增强跟主要业务功能没有关系的公共功能代码到指定的位置,这种编程的方式叫AOP。
图一
图二
问题所在,获取的Interfaces不是我们需要代理对象的Interface,用接口的实现类调用.class.getInterfaces方法获取的就是该实现类所有实现接口的一个数组。
解决方法:如图一所示,将接口名改为实现类名。