Auditing

自 Spring Data MongoDB 1.4 以来,可以通过使用 @EnableMongoAuditing 注释注释配置类来启用审计功能,如下例所示:

  • Imperative

  • Reactive

  • XML

@Configuration
@EnableMongoAuditing
class Config {

  @Bean
  public AuditorAware<AuditableUser> myAuditorProvider() {
      return new AuditorAwareImpl();
  }
}
@Configuration
@EnableReactiveMongoAuditing
class Config {

  @Bean
  public ReactiveAuditorAware<AuditableUser> myAuditorProvider() {
      return new ReactiveAuditorAwareImpl();
  }
}
<mongo:auditing mapping-context-ref="customMappingContext" auditor-aware-ref="yourAuditorAwareImpl"/>

如果您将类型为 AuditorAware / ReactiveAuditorAware 的 bean 暴露到 ApplicationContext 中,审计基础架构将自动选取它并使用它来确定要设置到域类型上的当前用户。如果您在 ApplicationContext 中注册了多个实现,您可以通过明确设置 @EnableMongoAuditingauditorAwareRef 属性来选择要使用的实现。