当前位置: 首页 > 知识库问答 >
问题:

使用spring aop记录方法的返回值

云欣嘉
2023-03-14

我有一个返回对象的方法。我想使用spring AOP在日志中打印该对象的值。我怎样才能做到呢?

共有1个答案

公羊伟志
2023-03-14

使用带有returnValue参数的@AfterReturning。

然后,您可以对返回的对象进行互选。这是一个示例,我对存储库中的所有方法都进行了互选,但不对get方法进行了互选

@AfterReturning(value = "@target(org.springframework.stereotype.Repository) && !execution(* get*(..))", returning = "returnValue")
public void loggingRepositoryMethods(JoinPoint joinPoint, Object returnValue) {
    String classMethod = this.getClassMethod(joinPoint);



     if(returnValue !=null)
     {
       //test type of object get properties (could use reflection)
       log it out
     }
     else
     {
         //do logging here probably passing in (joinPoint, classMethod);
     }
}
 类似资料:
  • 我有一个spring批处理应用程序,其中读卡器从外部数据库读取数据,处理器将其转换为目标数据库的POJO,写卡器将转换后的POJO写入目标数据库 我正在使用以下CrudRepository 我想知道,上面的ItemReader会是什么样子? 我应该打电话给MyCrudepository吗。在my ItemReader的中查找(String from,String to)? 这不会使ItemRead

  • 我在Android Studio上写过Java代码。我做了登录方法,在我的代码中发生了一些事情。它没有返回正确的返回值。返回值始终为false。虽然我在Android Studio上检查了函数,但是布尔变量已经正确地改变了,但是它在方法的末尾又改变了,所以登录方法总是返回false&我无法继续登录。 请帮我解决这个困惑的时刻。任何回答都将不胜感激,非常感谢。

  • 我有一个实用函数,它从您的数组中返回一个值。但是,您的数组显然可以包含任何类型的元素,那么如何记录返回类型是混合的呢? 在PHPdoc中,我将使用: JSDoc等价物是什么?

  • 一些日志记录需要在类的静态方法执行前后完成。我试图使用Spring AOP实现这一点,但它不起作用,对于普通方法来说,它是起作用的。请帮助我理解如何实现这一点,如果可以使用注释来完成,那就太好了。

  • 我有一个返回构造函数的javascript函数(见下面的代码示例)。我该如何用jsdoc的@returns标记来记录这一点。执行@returns{MyConstructor}似乎不正确,因为这意味着我返回的是“MyConstructor”的实例,而不是构造函数本身,对吗?

  • 在MariaDB数据库中,使用语句和子句从表中检索一个或多个记录。 语法: 示例1: 以降序检索记录: 使用语句并带有子句查询表中的数据。结果列的值按降序显示,为。参考如下语句 - 执行上面查询语句,得到以下结果 - 示例2: 按列的值升序检索记录: 执行上面查询语句,得到以下结果 - 示例3:分页 在应用程序中,由于数据记录太多,不能全在一个页面中全部显示,我们经常要使用分页来显示。假设每页显示