日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Data MongoDB中的审核实体

發布時間:2023/12/3 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Data MongoDB中的审核实体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Spring Data MongoDB 1.2.0靜默引入了新功能:支持基本審核 。 因為您不會在本文的官方參考中找到太多有關它的信息,所以我將展示它帶來的好處,如何配置Spring以進行審計以及如何對文檔進行注釋以使其可審計。 審核使您可以聲明性地告訴Spring存儲:

    • 文檔創建的日期: @CreatedDate
    • 上次文檔更新的日期: @LastModifiedDate
    • 創建文檔的用戶: @CreatedBy
    • 最近更新的用戶: @LastModifiedBy
    • 當前文檔版本: @Version

組態

首先,Maven依賴于最新的Spring Data MongoDB和Spring Data Commons。 另外,為了使用與日期相關的審計注釋,我們需要在類路徑中添加joda-time

<dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-mongodb</artifactId><version>1.2.1.RELEASE</version> </dependency><dependency><groupId>org.springframework.data</groupId><artifactId>spring-data-commons</artifactId><version>1.5.1.RELEASE</version> </dependency><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>2.2</version> </dependency>

為了啟用審計,我們需要在Spring配置中添加<mongo:auditing /> 。 當前無法通過Java Config對其進行配置。

<mongo:auditing /><mongo:mongo id="mongo" /><bean class="org.springframework.data.mongodb.core.MongoTemplate"><constructor-arg name="mongo" ref="mongo" /><constructor-arg name="databaseName" value="blog-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 AuditorAware<String> {@Overridepublic String getCurrentAuditor() {// get your user name herereturn "John Doe";} }

最后一件事是通過對Mongo配置進行少量修改來告訴Spring Data MongoDB有關此審計師的類:

<mongo:auditing auditor-aware-ref="auditor" /> <bean id="auditor" class="pl.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

總結

以上是生活随笔為你收集整理的Spring Data MongoDB中的审核实体的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。