通过spring容器获取目标对象和增强对象,通过动态代理生产代理对象,在目标对象的目标方法执行增强方法,返回生成代理对象给spring容器,在获取bean时则获取代理对象。
JDK相当于生成了一个兄弟类,实现相同的接口,Cglib则生产一个子类。
在spring框架提供的bean扩展点的bean后置处理器中的后置方法和aware接口,获取容器对象获取增强对象,对bean进行动态代理,在bean目标前后执行增强方法,返回代理对象。
切点表达式
5种通知类型
有参数的通知
注解的方式使用AOP