2018-07-05 | Proxy | UNLOCK

关于 Proxy

大家都用过,但是可能没有仔细去研究过,今天我们一起看看吧。 项目中最直接的就是 事务,日志 ,就是传说中的spring的AOP功能, 今天我们一起来揭露它的神秘面纱吧。

首先我们来说说静态代理:   我写了一个接口 
1
2
3
public interface Hello {
public void say(String name);
}

然后这是它的实现类

1
2
3
4
5
6
public class HelloImpl implements Hello{
@Override
public void say(String name) {
System.out.println(name+"-----");
}
}

//这是代理类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class StaticProxy implements Hello{
private Hello hello;
public StaticProxy(Hello hello){
this.hello = hello;
}


@Override
public void say(String name) {
System.out.println("之前");
System.out.println(name);
System.out.println("之后");
}

public static void main(String[] args){
new StaticProxy(new HelloImpl()).say("斗神一叶知秋");
}
}

console:

之前

斗神一叶知秋

之后

代码很好理解,我就不做过多的讲解了,说说静态代理的优缺点吧

优点:              

    1.实现了 代理功能              

    2.简单易容,很容易 也很好理解    

缺点:              

    1.被代理的类变动,代理类也要变动

评论加载中