【问题标题】:How enable Mongo auditing for Spring via yaml?如何通过 yaml 为 Spring 启用 Mongo 审计?
【发布时间】:2017-09-28 16:53:05
【问题描述】:
我正在尝试在带有 MongoDB 的 Spring Boot 项目中使用 @CreatedBy。该应用程序不使用 Spring xml 配置文件,因此我无法将 mongo:auditing 添加到 Spring 配置中。它使用applicantion.yml 文件。
我在主应用程序类上使用@EnableMongoAuditing,而@CreatedDate 和@LastModifiedDate 等其他功能可以正常工作。此外,我有一个SecurityAuditorAware implements AuditorAware<User>,但我想这应该在 yaml 上以与 XML 配置相同的方式声明。如何通过 yaml 使用此 AuditorAware?
【问题讨论】:
标签:
java
spring
mongodb
spring-mvc
【解决方案1】:
等效于 XML 的 <mongo:auditing auditor-aware-ref="securityAuditorAware" /> 的 Java 配置将是 @EnableMongoAuditing(auditorAwareRef = "securityAuditorAware")。我猜你正在使用 auditorAwareRef 属性
只需确保您的 AuditorAware 实现是一个带有 @Bean("securityAuditorAware") 的 Bean
@Bean("securityAuditorAware")
public SecurityAuditorAware securityAuditorAware(){
return new SecurityAuditorAware();
}
或@Component("securityAuditorAware")类级别。
@Component("securityAuditorAware")
public class SecurityAuditorAware implements AuditorAware<User> {...}
您不能在属性或 yaml 文件中配置它。