Spring AOP 之动态代理

 

静态代理

白话理解:父亲拿儿子照片给儿子找对象

关键特点:

  1. 持有被代理类的引用
  2. 代理类是一开始就加载到内存中了

 

动态代理

  1. 为什么叫动态代理,动态表现在哪些方面? ----  运行的时候加载到jvm中
  2. 动态代理的声明,动态代理的声明才是我们写业务代码的地方。动态代理类(ProxyHandler)的声明要实现InvocationHandler类,实现该类后会自动继承方法invoke(。。)

声明类的invoke方法到对是谁调用的

Class ProxyHandler implements InvocationHandler{

    People people=null;

    //构造函数

  public void ProxyHandler(People people){

        this.people=people;

}

    public Object invoke(Object proxy,Method method,Object args){

        before();

        method.invoke(people.null);

        after();

    }

   .. before(){

  }

 .. after(){

    

}

}

 

测试类:

public void static main(){

People people=(People)Proxy.newProxyInstance(People.class.getClassLoader(),

new Class[]{People.class},new ProxHandler(new ZhangSan()));

people.eat();--->这里就实现了代理

 

}

转载于:https://my.oschina.net/treeHeartPig/blog/956712

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值