client.java

来自「如何使用cglib库来实现动态加载的例子」· Java 代码 · 共 41 行

JAVA
41
字号
package common;

import net.sf.cglib.proxy.Enhancer;
import callback.MethodInterceptorImpl;

public class Client {

	private static Enhancer enhancer = new Enhancer();

	static {

	}

	public static void testMethodInterceptor() {
		enhancer.setSuperclass(Target.class);
		enhancer.setCallback(ProxyFactory
				.getCallback(ProxyFactory.CALLBACK_TYPE_MethodInterceptor));
		Target my = (Target) enhancer.create();
		my.method();
	}

	public static void testLazyLoader() {
		enhancer.setSuperclass(TargetHandler.class);
		enhancer.setCallback(ProxyFactory
				.getCallback(ProxyFactory.CALLBACK_TYPE_LazyLoader));
		TargetHandler myHandler = (TargetHandler) enhancer.create();
		Target myTarget = new Target();
		myTarget.setHandler(myHandler);
		System.out.println("Get Target Name: " + myTarget.getName());
		System.out.println("Get Name of Target's Handler "
				+ myTarget.getHandler().getName());
		System.out.println(myHandler);
	}

	public static void main(String[] args) {
		// testMethodInterceptor();
		testLazyLoader();

	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?