静态代理

首先我们来看一下思维导图,实现静态代理最最关键的一点是要把握住:代理类的通知(增强处理)直接写在传入的目标方法执行的前后的。

实现静态代理的核心类是代理类:

实现静态代理的步骤:

1、创建主题接口

package com.liwei.staticproxy;

public interface Subject {
    void miai();
}

2、创建被代理的类

package com.liwei.staticproxy;

public class Person implements Subject{

    private String name;
    
    public Person(String name) {
        super();
        this.name = name;
    }

    public void miai() {
        System.out.println(name + "去相亲了。。。。。。。。");
    }

}

3、创建代理类

package com.liwei.staticproxy;

public class ProxyPerson implements Subject{
    private Subject target;

    public ProxyPerson(Subject target) {
        super();
        this.target = target;
    }

    public void miai() {
        System.out.println("前置通知。。。。。。。。。。。。。。。。。");
        this.target.miai();
        System.out.println("后置通知。。。。。。。。。。。。。。。。。");
    }
    
    
}

4、写测试类

package com.liwei.staticproxy;


public class Test {
    public static void main(String[] args) {
        Person liwei = new Person("liwei");
        ProxyPerson proxy = new ProxyPerson(liwei);
        proxy.miai();
    }
}

静态代理的测试代码并不复杂,在这里就不给出源代码压缩包了。

 

posted @ 2015-03-31 14:57  李威威  阅读(118)  评论(0编辑  收藏  举报