Spring系列笔记(二)-代理模式

    最初看Spring相关书籍,讲到AOP部分,都会首先讲解代理模式、动态代理相关内容,现在看来,java框架中代理模式是使用非常频繁的,如注解、AOP、RPC等。

代理模式

    代理模式,通俗来讲,就是派出一个“代表”,代表真实对象与外界交互。”代表“ 除了实现真实对象的逻辑外,还可以增加额外的功能,比如权限校验、注解解析等。java中实现代理通常有静态代理,动态代理之分。

    静态代理:在编译时真实对象已经被替换成代理对象了,通常是真实对象(AService)和代理对象(ProxyService)实现同一个接口(SpringmaService),代理类引入真实对象,因此代理对象在真实对象的基础上实现了额外功能,通过多态的特性,在调用方真实使用的是代理对象。

            

  动态代理:在初始化时,利用反射、继承或编码,动态生成代理实例。

       JDK动态代理:静态代理是在编码阶段,通过实现接口来创建具体的代理类,但是这种方式不够灵活,每增加一个方法或接口,都需要额外编码。JDK动态代理就是实现了接口,但是通过反射技术将生成代理对象的时机放在运行时,自动创建代理对象。

    接口:

public interface ProxyTestInterface {
    void printString();
}

真实实现:

public class ProxyTestImpl implements ProxyTestInterface {
    private final static Logger LOG = LoggerFactory.getLogger(ProxyTestImpl.class);

    @Override
    public void printString() {
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值