`
Peerless_
  • 浏览: 4367 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

java 动态代理的使用

阅读更多
1.接口Human.java
public interface Human {
	void say();
}

2.Human的实现类 Person
public class Person implements Human {

	@Override
	public void say() {
		System.out.println("haha");
	}

}

3.处理类
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

public class Hander implements InvocationHandler {
	private Object obj;
	public Hander(Object obj) {
		this.obj = obj;
	}
	public Hander() {
	}
	@Override
	public Object invoke(Object proxy, Method method, Object[] args)
			throws Throwable {
		System.out.println("before");
		method.invoke(obj, args);
		System.out.println("after");
		return null;
	}

}

4. 使用
import java.lang.reflect.Proxy;

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Human i = (Human) Proxy.newProxyInstance(Thread.currentThread()
				.getContextClassLoader(), Person.class.getInterfaces(),
				new Hander(new Person()));
		i.say();
	}

}

5. 输出结果
before
haha
after

分享到:
评论

相关推荐

    java + 动态代理 + 动态代理实际应用场景

    3: 动态代理使用到基础理论:ClassLoader 加载.class字节码文件得到 , Class对象, Class对象通过 newProxyInstance 得到代理对象 4: 动态代理使用到基础理论:Class.forName("xxxx") 得到Class类 。

    java动态代理demo

    Java动态代理是Java编程中一个重要的特性,它允许我们在运行时创建代理对象,这些代理对象可以代表并增强原对象的功能。动态代理在很多场景下都非常有用,比如日志记录、性能监控、事务管理等。本示例将带你深入理解...

    java动态代理实例

    3. **拦截器模式**:在Java动态代理中,我们可以使用`InvocationHandler`来实现拦截器。拦截器是一种设计模式,它允许我们在方法调用前后插入自定义的代码,比如事务管理、权限检查等。通过动态代理,我们可以轻松地...

    java动态代理 经典文章(word 2007格式的)

    - `设计模式:用Java动态代理实现AOP.docx`可能包含了如何使用Java动态代理来实现设计模式,尤其是代理模式,以达到AOP的效果。 - `Spring AOP入门实例详解.docx`可能涵盖了Spring AOP的基本概念、配置以及如何...

    Java动态代理两种实现方式

    Java动态代理技术是Java编程中一个非常重要的特性,它允许我们在运行时动态创建具有特定行为的对象。这种技术常用于AOP(面向切面编程)和框架中,如Spring AOP,用于实现方法拦截、事务管理等功能。Java提供了两种...

    java动态代理机制

    这个文件名可能是某个关于Java动态代理的示例代码或者教程的组成部分,可能包含了如何创建和使用代理对象的具体代码。不过,由于没有具体的文件内容,我们无法详细分析其中的知识点。 总的来说,Java动态代理机制...

    Java代理模式Java动态代理

    ### Java代理模式与Java动态代理详解 #### 一、代理模式概述 代理模式是一种软件设计模式,它在客户端和目标对象之间提供了一种间接层。这种模式的主要目的是控制客户端对目标对象的访问,并且可以在不修改原有...

    Java动态代理helloworld

    本篇文章将深入探讨Java动态代理的概念、原理以及如何通过一个简单的"Hello, World!"示例来理解它。 动态代理,顾名思义,是在程序运行时动态地生成代理对象。与静态代理(编译时已知)相比,动态代理更加灵活,...

    Java 动态代理详解(学习资料)

    JDK 动态代理JDK 提供了 java.lang.reflect.Proxy 类和 java.lang.reflect.InvocationHandler 接口来支持动态代理。Proxy 类用于创建一个代理对象,而 InvocationHandler 接口则定义了代理对象的方法调用处理逻辑。...

    java 动态代理实现AOP

    ### Java动态代理实现AOP详解 #### 一、引言 随着软件开发复杂度的提升,传统的面向对象编程(OOP)已经...总之,通过本篇文章的学习,读者应该能够理解和掌握如何使用Java动态代理来实现AOP的基本原理及实践操作。

    java 动态代理 简单实例

    Java动态代理是Java语言提供的一种在运行时创建代理对象的技术,它允许我们为已存在的接口创建代理类,以便在调用方法时添加额外的功能或控制。动态代理在很多场景下非常有用,比如日志记录、性能监控、事务管理等。...

    Java动态代理案例演示代码

    以上就是Java动态代理的基本概念和使用方式。在提供的压缩包文件中,可能包含了一个简单的示例,展示了如何创建和使用动态代理。通过阅读和理解这个例子,你可以更深入地掌握动态代理的实现细节。如果你对某个部分有...

    对代理模式与Java动态代理类的理解

    对代理模式与Java动态代理类的理解说明

    java动态代理实现详解

    使用Java动态代理的步骤: 1. 实现`InvocationHandler`:创建一个类实现`InvocationHandler`接口,重写`invoke()`方法。在这里可以添加预处理、后处理逻辑,或者转发调用给目标对象。 2. 定义接口:确定代理对象需要...

    JAVA静态代理和动态代理

    3. 创建并使用动态代理: ```java Service realService = new RealService(); Service proxyService = (Service) Proxy.newProxyInstance( Service.class.getClassLoader(), new Class[]{Service.class}, new ...

    Java实现动态代理

    Java动态代理是Java编程中一个重要的特性,它允许我们在运行时创建代理对象,这些代理对象可以作为原有对象的“中间人”,在调用原有方法前或后执行额外的操作,如日志记录、性能监控、事务管理等。动态代理在很多...

    java事务 - 使用动态代理

    综上所述,使用Java动态代理进行事务管理可以使我们的代码更加模块化,降低业务逻辑与事务处理之间的耦合度。通过Spring的AOP支持,我们可以方便地声明事务边界,让事务管理变得更加优雅和高效。在实际项目中,结合...

    java动态代理详解

    更好的了解java动态代理的原理!

    一个简单的java动态代理的实例

    Java动态代理是Java提供的一种在运行时创建代理对象的技术,主要由`java.lang.reflect.Proxy`类和`java.lang.reflect.InvocationHandler`接口组成。在这个简单的Java动态代理实例中,我们将探讨如何利用这两个核心...

Global site tag (gtag.js) - Google Analytics