java - 如何在 Spring 中通过 Annotations 启用 MongoDB 审计

标签 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;
    }

最佳答案

因为您不是通过 XML 使用配置,所以我相信您使用的是注解。你拥有这样一个类:

public class MongoConfig extends AbstractMongoConfiguration {...}

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

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

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

我希望这会有所帮助!

关于java - 如何在 Spring 中通过 Annotations 启用 MongoDB 审计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21991293/

相关文章:

java - hibernate 延迟加载

java - 在数组中赋值

java - picasso 图像无法加载

java - 在 Spring 测试中请求范围内的bean

ruby-on-rails - 是否可以使用 rake 在 Rails 中模拟页面请求?

node.js - 连接 MMS ReplicaSet 时 Mongo 身份验证错误

node.js - 如何使用一个属性的值作为另一个属性的默认值?

java - 使用 Gradle 构建 Eclipse 插件

java - 缺少 Artifact org.hibernate :hibernate:pom:3. 3.2.GA

java - Spring Boot MVC 不在 JSP 中使用模型值