1. JDK动态代理原理
JDK动态代理是java.lang.reflect.*
包提供的方式,必须借助接口才能产生代理对象。
在JDK动态代理中,要实现代理逻辑类必须实现java.lang.reflect.InvocationHandler
接口,里面定义了invoke
方法,并提供接口数组用于下挂代理对象。
2. 动态代理实现步骤
- 建立代理对象和真实对象的关系
- 实现代理逻辑方法
3. 代码示例
1. 定义接口
package dynamicproxy.jdk;
/**
* 定义接口
* @author <u>sunlh</u>
*
*/
public interface HelloWorld {
void sayHelloWorld();
}
然后提供实现类HelloWorldImpl
来实现接口
2. 实现接口(真实对象)
package dynamicproxy.jdk;
/**
* 实现类,被代理类
* @author <u>sunlh</u>
*
*/
public class HelloWorldImpl implements HelloWorld {
@Override
public void sayHelloWorld() {
Sys