代理浅解。

我是新人小白,在刚学习spring的时候常常听到老师说里面两样重要的内容,ioc与aop,今天up就对aop中的代理来进行一些粗浅的见解。

首先来看一下静态代理代理浅解。_第1张图片 代理浅解。_第2张图片结果如下

代理浅解。_第3张图片

可见静态代理很麻烦要对每一个需要代理的对象创建代理类,动态代理有两个,一个是jdk的另外一个是cglib的,jdk代理需要被代理的类实现接口,而cglib代理则不需要。

先看jdk代理代理浅解。_第4张图片

继续看cglib代理

代理浅解。_第5张图片

与jdk代理不同。 

JDK代理是基于接口的代理,它要求被代理对象必须实现一个接口。JDK动态代理通过反射机制生成一个实现该接口的代理类,并将方法调用委托给被代理对象处理,从而实现对被代理对象的代理操作。

CGLIB代理则是基于继承的代理,它可以代理没有实现接口的类。CGLIB动态代理通过创建被代理类的子类,并在子类中拦截对被代理对象的访问,从而实现代理操作。

你可能感兴趣的:(java,开发语言)