Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为方法添加时间戳的自定义注释_Java_Annotations_Timestamp_Interceptor - Fatal编程技术网

Java 为方法添加时间戳的自定义注释

Java 为方法添加时间戳的自定义注释,java,annotations,timestamp,interceptor,Java,Annotations,Timestamp,Interceptor,爪哇大师 我对注释非常陌生,所以请容忍我 我想实现一个自定义注释,它将截取一个方法调用,并只打印该方法所花费的时间。可能吗 @EnableElapsedTime public MyAppObject findMyAppObjectById(Long id) throws MyCustomException { //.... } 应该在日志中打印类似的内容: findMyAppObjectById() took 2.345 sec. 我能得到一些关于这个的提示吗 注释本身无法做到

爪哇大师

我对
注释非常陌生
,所以请容忍我

我想实现一个
自定义注释
,它将
截取
一个方法调用,并只打印该方法所花费的时间。可能吗

@EnableElapsedTime
public MyAppObject findMyAppObjectById(Long id) throws MyCustomException {
    //....
}   
应该在日志中打印类似的内容:

findMyAppObjectById() took 2.345 sec.

我能得到一些关于这个的提示吗

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

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

对@Profiled annotation做了同样的事情,并提供了许多其他不引人注目的评测选项。

对@Profiled annotation做了同样的事情,并提供了许多其他不引人注目的评测选项。

答案是“否”和“是”。您不能仅使用注释来实现这一点,但可以使用注释以及方面来实现这一点。(如果使用Spring,这将变得更容易)。我知道这不是一个完整的回答,但希望你能朝着正确的方向前进:)。答案是否定的和肯定的。您不能仅使用注释来实现这一点,但可以使用注释以及方面来实现这一点。(如果使用Spring,这将变得更容易)。我知道这不是一个完整的回答,但希望您能够朝着正确的方向前进:)。对于Java,请查看AspectJ或SpringForJava,查看AspectJ或Spring