专业的JAVA编程教程与资源

网站首页 > java教程 正文

java代理模式(java代理模式原理)

temp10 2024-10-24 17:22:56 java教程 11 ℃ 0 评论

代理模式,为其他对象提供一种代理以控制这个对象的访问。用代理来隐藏具体实现类的实现细节,通常代理对象会在目标对象上进行扩展,会在具体的目标方法前后添加部分逻辑

静态代理

java代理模式(java代理模式原理)

静态代理在使用时,需要定义接口,被代理对象与代理对象要实现相同的接口,然后调用的时候通过调用代理对象的方法来调用目标的对象方

动态代理

动态代理在使用时,代理对象不需要实现接口,但目标对象一定要实现接口。通过使用JDK 的方法在内存中创建代理对

静态代理和动态代理都要求目标对象要实现一个接口,但如果目标对象只是一个普通的对象,并没有实现任何接口,这时就可以通过生成目标对象的子类来实现代理,而这种方法就叫做CGLIB 代理。

在Spring的AOP编程中,如果目标对象有实现接口,则使用JDK代理;如果目标对象没有实现接口,则用CGLIB 代理。

代理模式可以实现无侵入式的代码扩展,也就是方法的增强;让你可以在不用修改源码的情况下,增强一些方法;在方法的前后你可以做你任何想做的事情。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表