代理模式:代理模式是为了增强目标对象

代理分静态代理和动态代理

静态代理逻辑是:比如定义一个ISomeService接口,接口里面有一个输出doSecond()的方法,然后目标类SomeServiceImpl类去实现这个ISomeService接口,输出了abc,但是我又想让输出大写的ABC,前提是不改变目标类SomeServiceImpl类,那么就去创建一个SomeServiceProxy类,具体SomeServiceProxy类如下,

下面是执行代码

 动态代理:

不用创建代理类,由代理工厂生产出来。

代码如下

如果红框部分不了解,可以和上面的静态代理的方法做对比一下就明白了。主要还是使用的Proxy.newProxyInstance 这个方法实现的。

最新文章

  1. 【原创】风讯DotNetCMS V1.0~V2.0 SQL注入漏洞
  2. 数据存储_SQLite (2)
  3. ORACLE 错误:oralce record is locked by another user
  4. STM32F0xx_PWR低功耗配置详细过程
  5. 从基础知识到重写Spring的Bean工厂中学习java的工厂模式
  6. linux 日常命令(磁盘空间)
  7. VC++ 列表控件的使用方法
  8. Query插件
  9. qt中文乱码
  10. Weblate 2.11安装配置文档
  11. CSS基础入门
  12. Java多线程高级主题
  13. Codeforces731C(SummerTrainingDay06-M 并查集)
  14. SQL记录-PLSQL触发器
  15. Selenium+Python自动化测试学习问题总结笔记
  16. PHP 允许Ajax跨域访问 (Access-Control-Allow-Origin)
  17. 让APK 成功在 Windows 运行并可以设置本地文件
  18. linux mint 18.2 安装wireshark
  19. 前端性能优化-keep-alive
  20. Ubuntu下nagios安装(来源官网)

热门文章

  1. LeetCode Longest Continuous Increasing Subsequence
  2. RabbitMQ教程总结
  3. Android Studio导入项目,报错 Error:Unsupported method: BaseConfig.getApplicationIdSuffix().
  4. Hive的JDBC访问
  5. Sentry深入
  6. HDU1387:Team Queue
  7. Visualforce入门第六篇_2017.3.1
  8. Linux网络编程——tcp并发服务器(poll实现)
  9. Vue项目开启步骤
  10. 关于java中getClass()和getSuperClass()的讲解