国家基础设施建设网站,公司的网站建设 交给谁做更好些,深圳建设集团有限公司怎么样,所见即所得的网站开发软件Spring Data MongoDB 1.2.0静默引入了新功能#xff1a;支持基本审核 。 因为您不会在本文的官方参考中找到太多有关它的信息#xff0c;所以我将展示它带来的好处#xff0c;如何配置Spring以进行审计以及如何对文档进行注释以使其可审计。 审核使您可以声明性地告诉Spring… Spring Data MongoDB 1.2.0静默引入了新功能支持基本审核 。 因为您不会在本文的官方参考中找到太多有关它的信息所以我将展示它带来的好处如何配置Spring以进行审计以及如何对文档进行注释以使其可审计。 审核使您可以声明性地告诉Spring存储 文档创建的日期 CreatedDate 上次文档更新的日期 LastModifiedDate 创建文档的用户 CreatedBy 最近更新的用户 LastModifiedBy 当前文档版本 Version 组态 首先Maven依赖于最新的Spring Data MongoDB和Spring Data Commons。 另外为了使用与日期相关的审计注释我们需要在类路径中添加joda-time 。 dependencygroupIdorg.springframework.data/groupIdartifactIdspring-data-mongodb/artifactIdversion1.2.1.RELEASE/version
/dependencydependencygroupIdorg.springframework.data/groupIdartifactIdspring-data-commons/artifactIdversion1.5.1.RELEASE/version
/dependencydependencygroupIdjoda-time/groupIdartifactIdjoda-time/artifactIdversion2.2/version
/dependency 为了启用审计我们需要在Spring配置中添加mongoauditing / 。 当前无法通过Java Config对其进行配置。 mongo:auditing /mongo:mongo idmongo /bean classorg.springframework.data.mongodb.core.MongoTemplateconstructor-arg namemongo refmongo /constructor-arg namedatabaseName valueblog-tests /
/bean用法 上面的配置为我们提供了包括版本控制和时间戳在内的审计方法。 示例文档如下所示 Document
public class Item {Idprivate String id;... Versionprivate Long version;CreatedDateprivate DateTime createdAt;LastModifiedDateprivate DateTime lastModified;...
} 现在您可以使用MongoTemplate或存储库保存文档并且所有带注释的字段均已自动设置。 您可能已经注意到我在这里没有使用用户相关的注释CreatedBy和LastModifiedBy 。 为了使用它们我们需要告诉Spring谁是当前用户。 首先将与用户相关的字段添加到审核的类中 CreatedBy
private String createdBy;LastModifiedBy
private String lastModifiedBy; 然后创建您的AuditorAware实现该实现将获取当前用户可能从会话或Spring Security上下文中获取-取决于您的应用程序 public class MyAppAuditor implements AuditorAwareString {Overridepublic String getCurrentAuditor() {// get your user name herereturn John Doe;}
} 最后一件事是通过对Mongo配置进行少量修改来告诉Spring Data MongoDB有关此审计师的类 mongo:auditing auditor-aware-refauditor /
bean idauditor classpl.maciejwalkowiak.blog.MyAppAuditor/ 参考来自JCG合作伙伴 Maciej Walkowiak的Spring Data MongoDB中的审计实体来自Software Development Journey博客。 翻译自: https://www.javacodegeeks.com/2013/05/auditing-entities-in-spring-data-mongodb.html