弹簧数据Envers库未能注入
问题描述:
在我的Spring上下文我以下几点:弹簧数据Envers库未能注入
<jpa:repositories base-package="x.y.service.springDataJpa"/>
<jpa:repositories base-package="x.y.service.springDataEnvers"
factory-class="org.springframework.data.envers.repository.support.EnversRevisionRepositoryFactoryBean" />
这应该拿起我的正常弹簧数据的JPA库和我的弹簧数据envers库。
但执行该JUnit的TestClass中时:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {ApplicationTestContext.class, OrmContext.class, DatasourceContext.class})
@ActiveProfiles(profiles = "LOCAL")
@Transactional
public class StoreAndRetrieveRevisionTest {
@Inject
private ServiceRepository serviceRepository;
@Inject
private ServiceRevisionRepository serviceRevisionRepository;
(该ApplicationTestContext.class加载XML配置)。
它没有注入revisionrepository豆:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'x.y.server.springDataJpa.hibernateenvers.StoreAndRetrieveRevisionTest': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private x.y.service.springDataEnvers.ServiceRevisionRepository x.y.server.springDataJpa.hibernateenvers.StoreAndRetrieveRevisionTest.serviceRevisionRepository; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [x.y.service.springDataEnvers.ServiceRevisionRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.inject.Inject()}
缺少什么我在这里? spring-data-envers文档相当稀少..
答
请检查您的实体类是否使用@Entity和@Table注释正确注释。如果你的版本库bean不能正确初始化,你将无法使用它。