您的位置:首页 > 运维架构

代理模式 动态代理 AOP

2015-12-01 01:41 190 查看
记录一下自己对动态代理和AOP的理解

代理模式是为其他对象提供一个代理来控制这个对象。
http://yangguangfu.iteye.com/blog/815787 这个博客举例讲解得比较清楚,如有不明白的地方可以查阅。

动态代理:借助于JVM的支持,可以在运行时动态生成代理类(“代理角色”),我们就可以解决代理模式中代码膨胀的问题,使用了动态代理后,“代理角色”将不用手动生成,而由JVM在运行时,通过指定类加载器、接口数组、调用处理程序这3个参数来动态生成。

从JDK1.3开始,java中引入了动态代理机制。相关的接口或类有如下两个:InvocationHandler和Proxy,都位于java.lang.reflect包下。

动态代理:通过实现InvocationHandler接口创建自己的调用处理器,通过为Proxy类指定ClassLoader对象和一组interface创建动态代理类,通过反射机制获取动态代理类的构造函数,其参数类型是调用处理器接口类型,通过构造函数创建代理类实例,此时需将调用处理器对象作为参数被传入。

AOP:面向切面编程 

向目标程序的pointcut织入一段代码。pointcut与joinpoint是一对多的关系,joinpoint表示程序的方法调用前、方法调用后、方法抛出异常时以及方法调用前后。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息