自定义注释,用于为方法添加时间戳

时间:2012-08-30 09:32:41

标签: java annotations timestamp interceptor

Java Gurus,

我是annotations的新手,所以请耐心等待......

我想实现一个Custom Annotation intercept方法调用,只打印方法所花费的时间。有可能吗?

@EnableElapsedTime
public MyAppObject findMyAppObjectById(Long id) throws MyCustomException {
    //....
}   

应该在日志中打印这样的内容:

findMyAppObjectById() took 2.345 sec.

我可以得到一些暗示吗?

2 个答案:

答案 0 :(得分:2)

注释本身不能做到这一点。您需要研究一种称为“面向方面编程”(或AOP)的技术。

答案 1 :(得分:1)

Perf4J对@Profiled注释做了同样的事情,并提供了许多其他不引人注目的分析选项。