JAVA调用MongoDB生命周期事件 - MongoDB从入门
2019-01-31 本文已影响0人
DreamsonMa
监听MongoDB的生命周期,只需重写org.springframework.data.mongodb.core.mapping.event.AbstractMongoEventListener
的子类,并在Spring
的ApplicationContext
中声明这些bean
,这样在分派事件时会调用它们。例如:
public class BeforeConvertListener extends AbstractMongoEventListener<Person> {
@Override
public void onBeforeConvert(BeforeConvertEvent<Person> event) {
... does some auditing manipulation, set timestamps, whatever ...
}
}
AbstractMappingEventListener
中提供了以下回调方法:
方法 | 描述 |
---|---|
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后的处理。 |