如何通过Spring中的Annotations启用MongoDB的审计

Jul*_*lio 5 java spring spring-mvc auditing 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;
    }
Run Code Online (Sandbox Code Playgroud)

小智 8

因为您没有使用XML配置,所以我相信您正在使用注释.你拥有这样一个类:

public class MongoConfig extends AbstractMongoConfiguration {...}
Run Code Online (Sandbox Code Playgroud)

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

您的配置类现在看起来像这样:

@Configuration
@EnableMongoRepositories(basePackages="...")
@EnableMongoAuditing
public class MongoConfig extends AbstractMongoConfiguration {...}
Run Code Online (Sandbox Code Playgroud)

我希望这有帮助!