Java 如何在Spring中通过注释启用MongoDB审计
我想启用一些审计功能,比如@CreatedDate。我没有使用SpringXML配置文件,因此无法将mongo:auditing添加到Spring配置中。我想知道是否有另一种启用审核的方法。以下代码是用户的模型。但是,每当我创建一个用户时,该日期都不会存储在文档中,因此审核无法进行。有人能帮我一下吗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
@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注释类中,甚至在运行应用程序的主类中,添加此注释的位置