如何在 Spring 中通过注释启用 MongoDB 的审计



我想启用一些审计功能,例如@CreatedDate。我没有使用Spring xml配置文件,所以我无法将mongo:auditing添加到Spring配置中。我想知道是否有启用审核的替代方法。以下代码是用户的模型。但是每当我创建用户时,日期都不会存储在文档中,因此审核不起作用。有人可以给我一些帮助吗?

@Document(collection = "user")
public class User {
    @Id
    private String id;
    @Indexed(unique = true)
    private String email;
    private String name;
    @CreatedDate
    private Date date;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getDate() {
        return date;
    }
    public void setDate(Date date) {
        this.date = date;
    }

因为您没有通过 XML 使用配置,所以我相信您使用的是注释。您拥有这样的类:

public class MongoConfig extends AbstractMongoConfiguration {...}

因此,除了您应该已经拥有的注释之外,添加:@EnableMongoAuditing

您的配置类现在将如下所示:

@Configuration
@EnableMongoRepositories(basePackages="...")
@EnableMongoAuditing
public class MongoConfig extends AbstractMongoConfiguration {...}

我希望这有帮助!

这就是你所需要的。没有子类或其他东西。

@Configuration
@EnableMongoAuditing
public class AnyConfig {}

您应该编写一个配置类,您可以在其中通过传递数据库 url 使用 mongoClient 连接到 MongoDB 数据库。 并在该类之上添加@EnableMongoAuditing的 anootaion。

最新更新