spring aop变成实现方式
基于JDK代理方式实现
假如目标对象有实现接口,则可以基于JDK为目标对象创建代理代理对象,然后为目标对象进行功能扩展,如图-1所示:
图-1

基于CGLIB代理方式实现
假如目标对象没有实现接口,可以基于CGLIB代理方式为目标织入功能扩展,如图-2所示:
图-2

说明:目标对象实现了接口也可以基于CGLIB为目标对象创建代理对象。
假如目标对象有实现接口,则可以基于JDK为目标对象创建代理代理对象,然后为目标对象进行功能扩展,如图-1所示:
图-1

假如目标对象没有实现接口,可以基于CGLIB代理方式为目标织入功能扩展,如图-2所示:
图-2

说明:目标对象实现了接口也可以基于CGLIB为目标对象创建代理对象。