java 设计模式
- 静态代理
- 继承方式
创建一个代理类的子类,重写代理类的需要代理的方法。此方式为继承方式。
需要注意的是代理类不能用final修饰 - 聚合方式
将需要代理的类实现某一个接口,然后创建一个代理类实现相同接口,将被代理类的对象传入代理类对象,代理类重写接口的方法,调用被代理类对象的方法。从而实现代理。
- 继承方式
- 动态代理
- JDK动态代理
jdk动态代理,使用invocationHandler接口 实现代理业务,Proxy.getNewInstance方法获取代理类,使用的是聚合的方式。 - cglib动态代理
cglib动态代理,需要引入cglib-nodep jar包,继承MethodIntercept接口,使用Enhancer类创建代理对象,设置被代理的父类,设置实现MethodIntercept接口的类为回调。
- JDK动态代理