代理的概念与作用
来源:互联网 发布:喵掌折扣知乎 编辑:程序博客网 时间:2024/04/28 13:37
程序中的代理
代理可以为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能,例如,异常处理、日志、计算方法的运行时间、事务管理、等等。
代理可以为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能,例如,异常处理、日志、计算方法的运行时间、事务管理、等等。
编写一个与目标类具有相同接口的代理类,代理类的每个方法调用目标类的相同方法,并在调用方法时加上系统功能的代码。 (参看下面的原理图)
如果采用工厂模式和配置文件的方式进行管理,则不需要修改客户端程序,在配置文件中配置是使用目标类、还是代理类,这样以后很容易切换,譬如,想要日志功能时就配置代理类,否则配置目标类,这样,增加系统功能很容易,以后运行一段时间后,又想去掉系统功能也很容易
那么什么事动态代理技术呢?
要为系统中的各种接口的类增加代理功能,那将需要太多的代理类,全部采用静态代理方式,将是一件非常麻烦的事情!写成百上千个代理类,这样就显得很是繁琐!
JVM可以在运行期动态生成出类的字节码,这种动态生成的类往往被用作代理类,即动态代理类。
JVM生成的动态类必须实现一个或多个接口,所以,JVM生成的动态类只能用作具有相同接口的目标类的代理。
CGLIB库可以动态生成一个类的子类,一个类的子类也可以用作该类的代理,所以,如果要为一个没有实现接口的类生成动态代理类,那么可以使用CGLIB库。
代理类的各个方法中通常除了要调用目标的相应方法和对外返回目标返回的结果外,还可以在代理方法中的如下四个位置加上系统功能代码:
1.在调用目标方法之前
2.在调用目标方法之后
3.在调用目标方法前后
4.在处理目标方法异常的catch块中
0 0
- 代理的概念与作用
- Java代理的概念与作用
- 代理的概念和作用
- 代理类的作用与原理及AOP概念
- 分析代理类的作用与原理及AOP概念
- 分析代理类的作用与原理及AOP概念
- 黑马程序员--09.动态与代理AOP--01【代理的作用与概念】【动态代理与AOP】
- "黑马程序员"代理的概念、作用
- 【Java进阶-Java动态代理与AOP】01 代理类的作用与原理及AOP概念
- 14.分析代理类的作用与原理及AOP概念
- 分析代理类的作用与原理及AOP概念(2)
- 黑马程序员-高新代理的概念与作用学习日记
- std::的概念与作用
- 加强2注解。泛型。类加载器及其委托机制。代理的概念与作用原理,AOP概念。实现AOP功能的封装与配置。类似Spring。
- 分析代理类的作用与原理
- uml活动图的概念与作用
- uml活动图的概念与作用
- 母包的概念与作用
- 机器学习---基础知识
- Android布局详解:LinearLayout
- Ural-1076 Trash(最小费用最大流算法)
- NOJ[1329] Last Battle
- 基于MCP2515的Linux CAN总线驱动程序设计
- 代理的概念与作用
- FreeMarker基础(三) FTL页面求和
- 使用LCX进行内网端口转发
- SilverLight页面拖拽实现小谈
- import in python
- js 函数 拦截器
- 汪峰演唱会的线上营销和线下营销
- Java8学习笔记(4) -- Lambda表达式实现方式
- hdoj.1097 A hard puzzle 20140811