java中的代理模式
来源:互联网 发布:怎样躲过淘宝售假排查 编辑:程序博客网 时间:2024/06/08 20:11
代理模式
代理模式的关键点是:代理对象与目标对象.代理对象是对目标对象的扩展。
通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.
代理类负责其他琐碎的事情(公共性内容)。
一、静态代理
核心:代理类和目标类实现共同的接口;代理类持有目标类的引用,通过构造函数进行传递。
作用:代码或者说功能增强。
通过spring改造静态代理模式。
静态代码模式的缺点:
1)如果系统中有100Dao操作,就会创建100个代理对象。
2)如果一个Dao类中很多方法需要事务,则代理方法中重复代码还是很多。
3)静态代理模式的重用性不强。
二、Jdk动态代理:使用jdk的api实现
核心:接口,目标类,拦截器
代理对象是动态产生的,没有代理类,
拦截器是用来拦截目标方法的执行的。InvocationHandler接口,Proxy类, newProxyInstance()
拦截器中的invoke方法到底什么作用:调用执行相应的方法。
动态代理对象方法体中的内容就是invoke方法体中的内容。
分工比较细,降低耦合,只需要维护一个模块的的代码。各自不知道各自的存在。
注意事项:
1)拦截器invoke方法体中的内容就是代理对象方法体中的内容
2)当客户端执行代理对象方法时,进入到拦截器的invoke方法体
3)拦截器中invoke方法的参数实在调用的时候赋值的。
三、cglib动态代理:
使用cgjar包实现,需要导入jar包。
阅读全文
0 0
- Java中的代理模式
- Java中的代理模式
- Java中的代理模式
- Java 中的代理模式
- java中的代理模式
- java中的代理模式
- java中的代理模式
- java中的代理模式
- Java中的代理模式
- java中的代理模式
- java中的代理模式
- Java 中的代理模式及动态代理
- Java 中的代理模式及动态代理
- Java中的代理模式[转]
- java中的代理模式_0
- Java中的代理设计模式
- JAVA中的动态代理模式
- 设计模式中的代理模式与Java中的动态代理
- tensorflow + python3.5 + anaconda
- python笔记2
- spring整合rabbitMq
- 2017年中国程序员调查分析:大数据就业前景广阔
- Makefile简单轻松入门
- java中的代理模式
- Javascript的setTimeOut()和setInterval()的定时器用法
- java中的<?><T><E>详解Jdk5.0新特性Generic Types (泛型)
- 大数据未来应用7大趋势 人工智能只占其一
- php连接数据库
- selenium IDE 定时执行case及log保存的方法
- 几个经常用到的字符串的截取
- C++用new来创建对象和非new来创建对象的区别
- 随机生成某个范围内的随机数(包含边界数)