Java 为什么AuditReader可以';不能在存储库中自动连接
在我的springbootapp中,我有以下存储库:-Java 为什么AuditReader可以';不能在存储库中自动连接,java,spring-boot,hibernate-envers,Java,Spring Boot,Hibernate Envers,在我的springbootapp中,我有以下存储库:- @Repository public class RevisionRepository { private AuditReader auditReader; public RevisionRepository(AuditReader auditReader) { this.auditReader = auditReader; } } 当我运行此应用程序时。我得到了这个错误:- 启动ApplicationContext时出错
@Repository
public class RevisionRepository {
private AuditReader auditReader;
public RevisionRepository(AuditReader auditReader) {
this.auditReader = auditReader;
}
}
当我运行此应用程序时。我得到了这个错误:-
启动ApplicationContext时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。
2020-12-2421:09:15-
应用程序无法启动
说明: com.howtodoinjava.demo.repository.RevisionRepository中构造函数的参数0需要找不到类型为“org.hibernate.envers.AuditReader”的bean 行动: 考虑在配置中定义“org.hibernate.envers.AuditReader”类型的bean
我怎样才能做到这一点?这解决了我的问题。希望它能对其他人有所帮助:-
@Configuration
public class RevisionConfiguration {
@Autowired
private AuditReader auditReader;
private final EntityManagerFactory entityManagerFactory;
public RevisionConfiguration(EntityManagerFactory entityManagerFactory) {
this.entityManagerFactory = entityManagerFactory;
}
@Bean
AuditReader auditReader() {
return AuditReaderFactory.get(entityManagerFactory.createEntityManager());
}
}
将@Autowired置于专用AuditReader AuditReader上;您应该手动创建AuditReaderbean。有关建议,请参见示例@kmplzz thx。它解决了我的问题。