潍坊IT培训
美国上市IT培训机构

18300268127

热门课程

大神带你了解java代理方面的知识

  • 时间:2017-11-06
  • 发布:潍坊IT培训
  • 来源:互联网

    介绍

    代理是我们开发过程中经常用到的功能,比如Spring的AOP;但却很少了解其原理,接下来我们会讲解代理的使用,静态代理,动态代理,本章先介绍静态代理。

    代理就是将两个直接调用的关系通过代理来执行,从而隐藏具体的实现,也可以在代理里面做一些额外的逻辑,比如统计日志,统计执行时间等。

    代码实战

    静态代理一般是对某个接口进行代理,直接上代码,

    接口TestProxyInterface及方法say

    潍坊达内怎么样

    定义接口,方法say

    实现类:TestProxyImpl实现接口,返回hello+参数

    潍坊达内怎么样

    接口实现类

    代理类实现:ProxyTest, 定义了一个该接口的对象,通过构造函数传入要代理的类,也就是这个接口的任意实现类都可以被代理,(通过实现相同接口的方式,千万不要代理自己哦,可以自己试试什么样)

    同样实现该接口,当然也可以不实现,实现该接口为了让调用代理类和调用真实类的方法一致,为了让代码调用的逻辑展示一致。不强求,算作最佳实践吧

    我们在代理方法里面实现了执行时间的打印,在执行实际方法之前获取开始时间的毫秒值,

    代理方法执行完,获取结束时间的毫秒值,然后打印出实际方法的返回值信息,和方法执行时间

    潍坊达内怎么样

    代理类及实现

    最后最后,执行下该代理

    创建一个TestProxyImpl类对象,通过构造方法传给ProxyTest代理类,然后执行代理的say方法,传入参数“我是代理”

    然后看看结果,显示hello 我是代理----代理自行任务消耗0毫秒,

    符合预期结果:执行了实际代理的方法,将参数前增加了hello,也执行了代理的方法执行时间。

    潍坊达内怎么样

    执行代理

    静态代理是不是很简单,至于需不需要实现相同接口,那就是大家不同理解了,有认为好,有认为不好的,不必过于纠结。

更多潍坊达内怎么样相关资讯,请扫描下方二维码

潍坊达内怎么样

上一篇:双11快到了,给java程序员推荐一些书单
下一篇:小程序的流量红利

马上预约七天免费体验课

姓名:

电话:

清华大学获批承建大数据系统软件国家工程实验室

启明星辰落户南沙自贸区 助力网络信息安全

近科大讯飞对于新发布产品

火的机器学习框架

选择城市和中心
贵州省

广西省

海南省

达内教育

有位老师想和您聊一聊