Java 使用SpringMVC监视用户活动(更新/删除)

Java 使用SpringMVC监视用户活动(更新/删除),java,mysql,mongodb,spring-mvc,jakarta-ee,Java,Mysql,Mongodb,Spring Mvc,Jakarta Ee,我当前的项目(基于Spring MVC)需要监控用户活动,如更新、删除等。 我想要/寻找一种api方法,其中我可以传递命令和实体对象。。比较它们的值,并将它们与字段名一起存储在数据库中。 如果有人能指导我或建议使用java和MongoDB或MySQL作为后端的最佳方法,那就太好了 提前感谢如果您计划监视各种活动,例如更新、删除等,您可以执行以下操作: @Service public class MyUpdateServiceClass { //Check for preconditions

我当前的项目(基于Spring MVC)需要监控用户活动,如更新、删除等。 我想要/寻找一种api方法,其中我可以传递命令和实体对象。。比较它们的值,并将它们与字段名一起存储在数据库中。 如果有人能指导我或建议使用java和MongoDB或MySQL作为后端的最佳方法,那就太好了


提前感谢

如果您计划监视各种活动,例如更新、删除等,您可以执行以下操作:

@Service
public class MyUpdateServiceClass {
  //Check for preconditions
  LogActivity.logUserActivity(oldObject, newObject);
}

@Service
public class MyDeleteServiceClass {
  //Check for preconditions
  LogActivity.logUserActivity(T oldObject, T newObject);
}

public interface LogActivity {
  public void logUserActivity(T oldObject, T newObject);
}

public class LogUpdateActivity implements LogActivity {
  @Override
  public void logUserActivity(T oldObject, T newObject) {
    //Use reflection to get all the fields and iterate and check for    modifications and then log accordingly
}

public class LogDeleteActivity implements LogActivity {
  @Override
  public void logUserActivity(T oldObject, T newObject) {
    //Simply log delete, or whatever your requirement is
}
根据用户的传入请求,您可以创建一个工厂,以便在服务方法内生成LogActivity接口的适当实现。只需创建一个新的实现,就可以轻松地扩展LogActivity


我希望这能有所帮助。

我仍在寻求来自经验丰富的会员的基于最佳实践的建议,plz不要因为缺乏研究而否决@Shadow plz reopen。