Java 动态代理
1、前言 java中代理方式分为静态代理和动态代理,静态代理的代理关系在编译时就确定了,它需要为每一个目标类创建一个代理类,在代理类数量较少时可以选择使用。当代理类较多时,需要使用动态代理,动态代理相对来说提供了很大的灵活性,以下讲解下动态代理的两种实现方式,即 JDK原生动态代理和CGLIB动态代理 。 2、 JDK原生动态代理 2.1 示例代码 定义接口: public interface Fruit { String name(final String name); double price(double price); } 实现接口的具体代理对象类: public class Apple implements Fruit { @Override public String name(String name) { System.out.println("this is " + name); return name; } @Override public double price(double price) { System.out.println("Apple price is " + price); return price; } } 定义实现接口InvocationHandler的类: public class FruitDynamicProxy implements