java常用的设计模式之代理模式学习笔记

  • 代理模式:给某一个对象创建一个代理对象,由这个代理对象控制对原对象的引用,创建这个代理对象就是可以在调用原对象的时候增加一些额外的操作。
  • Demo1:使用静态代理方式模拟实现数据库的插入操作,在操作前和操作后都需要打印日志到控制台

  • Demo2:使用动态代理方式模拟实现数据库插入操作,在操作之前和操作之后都需要打印日志到控制台
  • 小结:
    动态代理和静态代理的区别:
        静态代理在编码的时候就已经知道需要代理的对象以及方法;
        动态代理是在运行的时候才知道具体代理的对象和方法;
  • 动态代理:JDK动态代理、cglib动态代理
        JDK动态代理仅仅代理实现了接口的类
        cglib动态代理可以代理除了了final修饰的任何类,它的原理是对指定的目标生成一个子类,并覆盖其中的方法实现增强,因为采用的是继承,所以不能对final修饰的类进行代理
  • 拓展
    Spring AOP代理机制:
    1、如果目标对象实现了若干个接口,Spring使用JDK动态代理
    2、如果目标对象没有实现任何接口,spring使用cglib动态代理

(该文章纯属个人理解,如有错误希望大神纠正指导委屈委屈委屈委屈委屈委屈


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值