2015-08-28 30 views
0

在我的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文档相当稀少..

回答

0

请检查您的实体类是否使用@Entity和@Table注释正确注释。如果你的版本库bean不能正确初始化,你将无法使用它。