下面是代理模式先生们
1.代理模式
我们举例说明为代理模式是什么
假如 我被抢了
那么我们需要去抓小偷
于是我们打电话给派出所代替我们自己去破案
然后接电话的是接线员 他回去联系派出所的人
接线员就是我们的代理 但最终破案的还是派出所的人
我们先用一下静态代理模式 后面还有动态代理模式
这是我们的接线员类
这是我们的警局类
这是静态代理的实现 还有一个动态代理
代理类在在程序运行时创建代理的方式叫动态代理,也就是说代理类并不是在java代码中定义的,
而是在程序运行时动态产生的
jdk动态代理的两个核心类是:
java.long.reflect.Proxy
java.long.reflect.InvocationHandler
我们先用一下jdk动态代理 后面还有一个cglib动态代理
继续用我们的派出所类
我们再新建一个JdkProxy类 这是我们的代理类
测试:
如果我们的方法有返回值怎么办呢?
这是我们动态代理的第一种形式 jdk动态代理
还有一种是cglib动态代理
我们同样还是用派出所类 只是不用实现任何接口
我们再新建 一个CglibProxy类
我们在使用cglib代理模式时需要:
测试: