Demo 开始为例
public static void main(String[] args) throws Exception {
System.setProperty(DebuggingClassWriter.DEBUG_LOCATION_PROPERTY, "D:\\tmp");
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(Student.class);
enhancer.setCallbacks(new Callback[]{new CglibProxyIntercepter(),new Cglib2ProxyInteceptor()});
enhancer.setCallbackFilter(new CallbackFilter() {
@Override
public int accept(Method method) {
return 0;
}
});
Student proxy= (Student) enhancer.create();
proxy.saySomeThing();
}
// callback 也可以是InvocationHandler(非jdk的InvocationHandler)
enhancer.setCallbacks(new Callback[]{new InvocationHandler() {
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
System.out.println("InvocationHandler&