Spring实例参考09-静态代理

系列文章:

1. Spring实例参考01-一个简单实例

2. spring实例参考02-一个有基本框架雏形的实例

3. Spring实例参考03-通过构造方法创建对象

4. Spring实例参考04-通过工厂创建对象

5. Spring实例参考05-导入其他文件:import

6. Spring实例参考06-setter注入的10种方式

7. Spring实例参考07-bean的作用域

8. Spring实例参考08-bean的自动装配

9. Spring实例参考09-静态代理​​​​​​​

10. Spring实例参考10-动态代理

11. Spring实例参考11-API实现AOP前置/后置通知

12. Spring实例参考12-自定义类实现AOP

13. Spring实例参考13-注解实现AOP


前言

本文供以下文章参考使用:
Spring基础回顾__evenif的博客-CSDN博客

 1 接口

package com.evenif.proxy;

public interface Shape {
    public void draw();
}

2 具体实现类一

package com.evenif.proxy;
public class Rectangle implements Shape{
    @Override
    public void draw() {
        System.out.println(" draw one rectangle");
    }
}

3 具体实现类二

package com.evenif.proxy;

public class Triangle implements Shape{
    @Override
    public void draw() {
        System.out.println("draw one triangle");
    }
}

4 代理类

package com.evenif.proxy;

public class ShapeProxy implements Shape {
    Shape shape;

    public ShapeProxy(Shape shape) {
        this.shape = shape;
    }

    public void before(){
        System.out.println("准备画图形了:");
    }

    public void after(){
        System.out.println("图形绘画结束!");
    }

    @Override
    public void draw() {
        before();
        shape.draw();
        after();
    }
}

 5 测试类

package com.evenif.proxy;

public class Client {
    public static void main(String[] args) {
        Rectangle rectangle = new Rectangle();
        ShapeProxy proxy = new ShapeProxy(rectangle);
        proxy.draw();
        Triangle triangle = new Triangle();
        proxy = new ShapeProxy(triangle);
        proxy.draw();
    }
}
//运行结果:
//        准备画图形了:
//        draw one rectangle
//        图形绘画结束!
//        准备画图形了:
//        draw one triangle
//        图形绘画结束!


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_evenif

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值