java注解2 – 自定义注解

这次创建一个自定义注解StopWatch,目的是用来监控Java方法的执行时间。

注解定义如下:

代码中使用到的几个元注解上一节都有说明。注解定义完成了就可以使用了,下面是一个这个注解的使用案例:

在自定义的注解中使用了两个成员变量:name和timeunit。在使用自定义注解时,需要给成员变量赋值。赋值的方式就是程序中那样:

其中因为timeunit有默认值,所以可以不用额外赋值。 值得一提的是如果只有一个成员变量,且名称为value,可以不用再使用name=value,直接在括号中填上value即可。

但是这个注解能做什么呢?什么也不能做。仅有注解是没有意义的。我们需要为自定义的注解添加一些功能,也就是注解的解析器。

因为一直在Spring平台上做开发,所以注解的解析也依托Spring来做,这里还主要使用了一个组件AspectJ。解析器定义如下:

代码中使用的Watcher是简单将计时代码做了一些封装,如有兴趣也可以看一下:

好了,就这样。

#########

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据