1. jdk静态代理 jdk静态代理主要使用硬编码实现.他通过对在代理类中持有委托类的引用,来打到在委托类方法执行前和执行后进行处理,实现简单,容易理解. 代码如下: 1.业务逻辑接口 package jdkStaticProxy; public interface Service { public void doService(); } 2.业务逻辑实现类 package jdkStaticProxy; public class ServiceImpl implements Service {
代理模式在我们的应用中是很常见的,例如拦截器,spring的事务管理等.之所以能被代理,是因为java允许我们通过反射机制动态构造目标对象,并调用相应的方法. 就好像拿到了目标对象的引用,自然可以在目标对象方法执行前后处理一些自己的任务,例如日志服务拦截器,防止重复提交拦截器等. 1.java的静态代理(纯粹是拿到目标的引用,调用目标方法) public interface Hello { public void say(String name); } public class HelloImp