簡體   English   中英

如何將Spring bean用作Morphia實體偵聽器?

[英]How to use a Spring bean as a Morphia entity listener?

Morphia文檔提供了一個示例,說明如何使用@EntityListeners將生命周期方法外部@EntityListeners單獨的類:

@EntityListeners(DigitalSigner.class)
public class BankAccount {
  @Id
  String id;
  Date lastUpdated = new Date();
}

class DigitalSigner {
  @PrePersist
  void prePersist(final Object entity, final DBObject dbObject) {
     dbObject.put("signature", sign(dbObject));
  }
}

但是,文檔沒有說明如何實例化該類。 我的猜測是通過調用no-args構造函數。

我需要從實體偵聽器調用Spring服務,或者讓Spring服務作為偵聽器。 如何做到這一點(最好不要將服務置於static字段中)?

該功能由ObjectFactory類提供,可以使用MapperOptions.setObjectFactory進行設置。 自定義ObjectFactory應該為請求的類類型返回適當的Spring bean。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM