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

时间:2014-02-24 14:59:04

标签: java spring mongodb spring-mvc auditing

我想启用一些审核功能,例如@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;
    }

3 个答案:

答案 0 :(得分:7)

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

public class MongoConfig extends AbstractMongoConfiguration {...}

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

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

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

我希望这有帮助!

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

@Configuration
@EnableMongoAuditing
public class AnyCongig {}