監聽MongoDB的生命週期,只需重寫org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener
的子類,並在Spring
的ApplicationContext
中聲明這些bean
,這樣在分派事件時會調用它們。例如:spring
public class BeforeConvertListener extends AbstractMongoEventListener<Person> { @Override public void onBeforeConvert(BeforeConvertEvent<Person> event) { ... does some auditing manipulation, set timestamps, whatever ... } }
AbstractMappingEventListener
中提供瞭如下回調方法:mongodb
方法 | 描述 |
---|---|
onBeforeConvert |
調用MongoTemplate 的insert 、insertList 和save 操做,在經過MongoConverter 將對象轉換爲文檔以前的處理。 |
onBeforeSave |
調用MongoTemplate 的insert 、insertList 和save 操做,在數據庫中插入或保存文檔以前的處理。 |
onAfterSave |
調用MongoTemplate 的insert 、insertList 和save 操做,在數據庫中插入或保存文檔以後的處理。 |
onAfterLoad |
調用MongoTemplate 中的find 、findAndRemove 、findOne 和getCollection 方法,從數據庫檢索文檔後的處理。 |
onAfterConvert |
調用MongoTemplate 中的find 、findAndRemove 、findOne 和getCollection 方法,從數據庫檢索文檔被轉換爲POJO後的處理。 |