Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Spring中通过注释启用MongoDB审计_Java_Spring_Mongodb_Spring Mvc_Auditing - Fatal编程技术网

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

Java 如何在Spring中通过注释启用MongoDB审计,java,spring,mongodb,spring-mvc,auditing,Java,Spring,Mongodb,Spring Mvc,Auditing,我想启用一些审计功能,比如@CreatedDate。我没有使用SpringXML配置文件,因此无法将mongo:auditing添加到Spring配置中。我想知道是否有另一种启用审核的方法。以下代码是用户的模型。但是,每当我创建一个用户时,该日期都不会存储在文档中,因此审核无法进行。有人能帮我一下吗 @Document(collection = "user") public class User { @Id private String id; @Indexed(uniq

我想启用一些审计功能,比如@CreatedDate。我没有使用SpringXML配置文件,因此无法将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 {...}

我希望这有帮助

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

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

@Configuration
@EnableMongoAuditing
public class AnyCongig {}

请将您的配置添加到您的帖子中。您的代码中只有
@CreatedDate
注释,而没有
@CreatedBy
,因此审核不知道要插入什么。@M.Deinum是否也需要设置“@CreatedBy”?不可能只添加一个`@CreatedDate`注释吗?正如我所说,我在项目中不使用spring配置xml。所以我的问题是:我可以在Spring配置文件之外的其他地方启用审计吗?目前没有,Spring数据MongoDB中目前没有@enable*注释。在即将发布的新版本(1.4.0)中,有一个@EnableMongoAuditing注释。但目前您已经绑定到xml配置,只是在GIT提交日志中注意到,Spring数据的新发布序列正在发布。不久应该会有一个SpringDataMongoDB1.4.0.RELEASE,其中包含上述注释。我使用SpringBoot,但我没有明确定义MongoConfig。在任何@Configuration注释类中,甚至在运行应用程序的主类中,添加此注释的位置