博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础加强-代理
阅读量:6071 次
发布时间:2019-06-20

本文共 852 字,大约阅读时间需要 2 分钟。

/*代理*/

/*代理的概念与作用*/
代理过程架构
客户端Client原来直接调用的是Target目标类
使用代理后,现在让客户端不要调用Target,调用代理类Proxy,代理类Proxy和目标类Target实现了相同的接口,也就是说对外有相同的方法
在客户端调用程序的时候,不是直接引用目标,也不是直接引用代理,而是用这个接口来进行引用 如:Collection引用HashSet,引用ArrayList
//调用代理对象的方法时,方法内部将objProxy对象,方法名,方法参数传递给handler的Invoke方法,
//handler中的Invoke方法执行,然后,在该方法中,执行Target目标类的和代理对象调用的方法同名的方法
另外:代理类对于从Object继承的方法,只对hashCode,equals和toString这三个方法委托给Handler去处理
对于其他方法,不会去委托,而是自己处理,如这里的getClass方法,所以最后结果是代理类相关的对象,而不是和目标类相关的对象
/*编写可生成代理和插入通告的通用方法*/
/*实现类似Spring 的 可配置的AOP框架*/
1.工厂类BeanFactory负责创建目标类或代理类的实例对象,并通过配置文件实现切换。其getBean方法根据参数字符串返回一个相应的实例对象,
如果参数字符串在配置文件中对应的类名不是ProxyFactoryBean,则直接返回该类的实例对象,否则,返回该类实例对象的getProxy方法返回的对象
2.BeanFactory 的构造方法接收代表配置文件的输入流对象
3.ProxyFactoryBean充当封装生成动态代理的工厂,需要为工厂类提供哪些配置参数信息(目标,通知)
4.编写客户端应用:1.编写实现Advice接口的类在配置文件中进行配置 2.调用BeanFactory获取对象

转载于:https://www.cnblogs.com/xuzekun/p/7354655.html

你可能感兴趣的文章
Confluence 6 设置 Oracle 数据库准备
查看>>
xshell优化与远程控制服务器
查看>>
coreData初步认识
查看>>
NFS应用场景及环境搭建
查看>>
git subtree的使用体验
查看>>
Python培训班好不好?
查看>>
hadoop的eclipse安装
查看>>
linux文件系统与文件管理(一)
查看>>
滴滴谋变:国内“关停并转”非主业,国外加码外卖等业务
查看>>
如何把pdf文件转换为excel表格
查看>>
IT紧随业务频动,质量管理如何御风而行?
查看>>
APP注册发送验证码
查看>>
黑马程序员——关于多态
查看>>
关于outlook的配置
查看>>
RHEL6.2挂载ntfs文件系统
查看>>
cobbler基础使用
查看>>
windows 2012 r2 英文系统 安装 中文软件 显示乱码
查看>>
AngularJS 过滤与排序详解及实例代码
查看>>
openssl续
查看>>
Centos5 下安装配置APC
查看>>