0

我们正在研究 Spring 的 AOP 框架,用于在基于 Spring MVC 的应用程序中添加审计日志功能。

在我们的应用程序中,每当我们调用服务方法时,我们都会传递额外的审计日志对象(除了正常的方法参数之外)。这个审计日志对象有一些预先填充的属性,如用户名、用户 ID 和用户 IP 地址等。

在实际的服务方法中,我们根据被调用的方法或在服务方法中执行的操作,在审计日志对象上设置了更多的属性。

这是非常动态的,并且因方法而异。

在 AOP 类中,我们可以截取方法参数和返回值。但是,根据服务方法中正在执行的操作计算出的值,然后在审计日志对象上设置呢?此值在 AOP 类中不可用。

基本上,我们需要填充审计日志对象,然后在方法执行后将其保存在数据库中,并在仅拦截方法中设置来参数。

有什么我们可以做到的吗?

请帮忙。

4

1 回答 1

0

在 AOP 类中,您应该可以访问审计对象,因为您可以访问方法参数。所以方法返回后,在方法参数中找到审计对象并对其进行操作。审计对象是哪个参数无关紧要,只要您可以按类型找到它即可。

您在审计对象上设置的值应该仍然存在,因为审计对象是通过引用传递的。

于 2011-10-26T17:44:15.287 回答