码迷,mamicode.com
首页 > 其他好文 > 详细

注解例题

时间:2017-10-27 10:24:33      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:注解

注解例题:

使用注解可以优化动态代理模式,能够让用户更简单地编写动态代理模式的代码,并且能够自动搜索需要代理的类,只需要在类上配置好注解就能自动生产对象,还能够过滤不需要监听的方法,用户只需要写自己的业务代码即可。

编写这样的一个优化机制需要四个类来实现,注解类、搜索类、对象工厂类和处理类。

 

第一步编写注解类,声明一些需要配置的信息:

注解类代码示例:

技术分享



第二步编写搜索类,用于搜索指定包下的类:

搜索类代码示例:

技术分享

技术分享

技术分享

技术分享

技术分享

技术分享





第三步编写对象工厂类:

对象工厂类代码示例:

技术分享

技术分享




第四步编写处理类:

处理类代码示例:

技术分享

技术分享


优化动态代理模式的代码编写完成后,就可以编写用户的代码来测试一下是否没问题,步骤还是和之前的动态代理模式的步骤一样,只是简化了很多代码的编写:

 


第一步编写接口,声明需要被实现的方法:

接口代码示例:

技术分享





第二步编写实现类,实现接口的方法,但是和之前不一样的是需要写上注解来配置信息:

实现类代码示例:

技术分享



第三步编写处理类,这个处理类不需要实现InvokeHandler接口,只需要写一个invoke方法即可:

处理类代码示例:

技术分享



第四步编写测试类:

测试类代码示例:

技术分享


运行结果:

技术分享


从运行结果可以看到toString方法和study方法都被监听了,现在我只想监听study方法,不想监听其他的方法,这时候在实现类中配置好不需要过滤的方法名即可,其他代码不需要变动:

技术分享


运行结果:

技术分享

从运行结果可以看到,toString方法被过滤掉了,是直接调用的,没有经过动态代理模式。


本文出自 “zero” 博客,请务必保留此出处http://zero01.blog.51cto.com/12831981/1976635

注解例题

标签:注解

原文地址:http://zero01.blog.51cto.com/12831981/1976635

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!