`
sassds
  • 浏览: 155087 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多
import java.lang.reflect.Method;

import net.sf.cglib.proxy.Enhancer;
import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

class Myclass {
public void method() {
System.out.println(this.getClass() + "is invoked..");
}
}

class MethodInterceptorImpl implements MethodInterceptor {
@Override
public Object intercept(Object o, Method m, Object[] os, MethodProxy mp)
throws Throwable {
System.out.println(this.getClass() + "is invoked..");
System.out.println(m);
return mp.invokeSuper(o, os);
}
}

public class testmain {
public static void main(String[] args) {
Enhancer en = new Enhancer();
en.setSuperclass(Myclass.class);
en.setCallback(new MethodInterceptorImpl());
Myclass mc = (Myclass) en.create();
mc.method();
}
}
分享到:
评论

相关推荐

    动态代理和cglib例子

    动态代理和CGLIB在Java开发中扮演着重要的角色,特别是在实现面向切面编程(AOP)和增强对象功能方面。动态代理允许我们在不修改原始代码的情况下,为已有对象添加额外的功能,比如日志记录、性能监控等。而CGLIB...

    CGLIB代理例子

    在这个例子中,`MyClass`类被CGLIB代理,每次调用`myMethod()`时,都会在调用前后打印出"Before method call"和"After method call"。 了解并掌握CGLIB代理技术,对于深入理解Java的动态代理机制以及Spring框架的...

    Cglib的jar文件 Cglib.zip

    以下是一个简单的Cglib代理使用的例子: ```java import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; import java.lang.reflect.Method;...

    jdk和cglib动态代理的例子{jar包+源码}

    jdk和cglib动态代理的例子{jar包+源码} 解压:如有问题 用快压

    cglib动态生成java类

    在这个例子中,`MyClass`被动态地生成了一个子类,所有对`myMethod()`的调用都会经过`MethodInterceptor`的拦截。 ### CGLib的优势 1. **性能优势**:相比于使用Java反射机制,CGLib生成的代理对象在性能上更优,...

    CGLIB入门实例.doc

    CGLIB,全称为Code Generation Library,是一种代码生成库,主要用在Java应用程序中,尤其在需要进行动态代理或者运行时织入增强功能的场景。它底层基于ASM库,但为开发者提供了更友好的API,简化了对Java字节码的...

    CGlib动态代理的好例子!

    下面是一个简单的CGlib动态代理的例子: ```java import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; import java.lang.reflect.Method;...

    Cglib所需要的jar包

    在这个例子中,`MyClass`是被代理的类,Cglib会生成一个`MyClass`的子类,并在`myMethod`调用前后插入自定义逻辑。 总的来说,Cglib是一个强大的工具,它可以让我们在运行时动态生成和增强类,对于那些无法通过接口...

    简单实现Cglib子类代理

    在这个例子中,`CglibProxy`实现了`MethodInterceptor`接口,它的`intercept()`方法会在目标方法执行前后插入自定义逻辑。 4. **在Spring中的应用**: 在Spring AOP中,如果目标对象没有实现接口,Spring会自动...

    cglib创建代理类.rar

    springAOP等框架中,大量用到代理技术; 两类代理技术: 1,java动态代理,见JDK文档或相关java书; 2.cglib创建代理类,比第一种更加简单,代理类和背代理类不需要实现共同接口。本例子就是cglib代理的例子,很简单

    CGLIB demo

    在这个例子中,我们创建了一个CGLIB代理对象,当调用`myMethod()`时,会在调用前后分别打印"Before method execution"和"After method execution",实现了方法的拦截。 总的来说,CGLIB作为Java中的一个强大工具,...

    Java JDK代理、CGLIB、AspectJ代理分析比较

    ### Java代理技术详解:JDK代理、CGLIB与AspectJ #### 一、代理模式简介 代理模式是一种常见的设计模式,在《Design Patterns in Java》一书中对其有明确的定义:“代理模式为一个对象提供一个代理,以控制对该...

    示例代码:java动态代理和cglib代理的简单例子

    以下是一个简单的Java动态代理和CGLIB代理的例子: ```java // 目标接口 public interface MyService { void doSomething(); } // 目标实现 public class MyServiceImpl implements MyService { @Override ...

    CGlib动态代理类所需的jar包

    在这个例子中,`MyClass`是你要代理的类,`MethodInterceptor`是回调接口,`intercept()`方法中的逻辑会在`myMethod()`调用前后执行。 总的来说,CGlib是Java开发中一个强大的工具,尤其对于需要动态创建对象或进行...

    简单模拟spring cglib代理

    在这个例子中,我们创建了一个名为TargetClass的类,它有一个名为targetMethod的方法。我们模拟Spring CGLIB代理的方式,通过Enhancer来创建TargetClass的代理实例。我们定义了一个MethodInterceptor,在该拦截器中...

    cglibjar包

    以下是一个简单的使用CGLib创建动态代理的例子: ```java import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; import java.lang.reflect...

    JDK动态代理和CGLIB代理

    以下是一个CGLIB代理的例子: ```java import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; import java.lang.reflect.Method; class ...

    AOP-CGLIB学习-实现简单的注解权限系统

    总的来说,这个例子展示了如何将Spring的AOP和CGLIB结合,通过注解实现一个简单的权限控制系统。虽然文中提到这个例子可能并不适用于实际生产环境,但它提供了一个理解和学习AOP和CGLIB如何协同工作的基础。在实际...

    cglib动态代理

    以下是一个具体的例子,展示了如何使用cglib实现动态代理: 1. **原始类定义**: - `InfoManager`类包含了对信息的基本操作,包括创建(create)、更新(update)、删除(delete)和查询(query)等方法。 ```java ...

    Java cglib实例代码

    Java CGLib 实例代码 Java CGLib 实例代码是 Java 中强大的三个特征:反射、Proxy 和元数据的结合,使得 Java 能够实现强悍的框架。CGLib(Code Generation Library)和 ASM 使得 Java 能够生成强悍的框架,虽然...

Global site tag (gtag.js) - Google Analytics