Spring----代理设计模式

一.概念

Spring----代理设计模式_第1张图片

二.静态代理

1. 由代理对象代理所有真实对象的功能.

    1.1 自己编写代理类
    1.2 每个代理的功能需要单独编写
2. 静态代理设计模式的缺点:
    2.1 当代理功能比较多时,代理类中方法需要写很多

三.动态代理

1. 为了解决静态代理频繁编写代理功能缺点.

2. 分类:
    2.1 JDK 提供的
    2.2 cglib 动态代理

      JDK动态代理   --------实现InvocationHandler接口,重写invoke方法

Spring----代理设计模式_第2张图片

代码:

代理类

Spring----代理设计模式_第3张图片

测试类

Spring----代理设计模式_第4张图片

 

 

        cglib动态代理----导入cglib和asm的jar包,实现MethodIntercept接口,重写intercept方法

Spring----代理设计模式_第5张图片

代码:

Spring----代理设计模式_第6张图片

需要new一个cglib中的Enhancer对象

Spring----代理设计模式_第7张图片

 

 

你可能感兴趣的:(Spring)