我们正在研究 Spring 的 AOP 框架,用于在基于 Spring MVC 的应用程序中添加审计日志功能。
在我们的应用程序中,每当我们调用服务方法时,我们都会传递额外的审计日志对象(除了正常的方法参数之外)。这个审计日志对象有一些预先填充的属性,如用户名、用户 ID 和用户 IP 地址等。
在实际的服务方法中,我们根据被调用的方法或在服务方法中执行的操作,在审计日志对象上设置了更多的属性。
这是非常动态的,并且因方法而异。
在 AOP 类中,我们可以截取方法参数和返回值。但是,根据服务方法中正在执行的操作计算出的值,然后在审计日志对象上设置呢?此值在 AOP 类中不可用。
基本上,我们需要填充审计日志对象,然后在方法执行后将其保存在数据库中,并在仅拦截方法中设置来参数。
有什么我们可以做到的吗?
请帮忙。