简体   繁体   English

没有类型为'org.springframework.data.jpa.repository.support.JpaEntityInformation的合格bean

[英]No qualifying bean of type 'org.springframework.data.jpa.repository.support.JpaEntityInformation

I'm trying to extend the **SimpleJpaRepository ** by BaseRepository interface and the BaseRepositoryImpl. 我正在尝试通过BaseRepository接口和BaseRepositoryImpl扩展** SimpleJpaRepository **。
Tha BaseRepositoryImpl extends **SimpleJpaRepository ** and implements BaseRepository. BaseRepositoryImpl扩展了** SimpleJpaRepository **,并实现了BaseRepository。

In addition, I have some other Repositories such as CandidateRepository and EmployeeRepository that extends the BaseRepository. 另外,我还有一些其他存储库,例如CandidateRepository和EmployeeRepository,它们扩展了BaseRepository。

Below you can see the code following the error: 在下面,您可以看到该错误后的代码:

To see the project structure click here 要查看项目结构,请单击此处

    @NoRepositoryBean  
    public interface BaseRepository<T, ID extends Serializable> extends JpaRepository<T, ID>{
//..
}


@Repository
public abstract class BaseRepositoryImpl<T, ID extends Serializable> extends 
                                                    SimpleJpaRepository<T, ID> implements BaseRepository<T, ID>{

    private final EntityManager em;

    public BaseRepositoryImpl(JpaEntityInformation<T,ID> entityInformation, 
                                EntityManager entityManager) {

      super(entityInformation, entityManager);
      this.em = entityManager;

  }
  //..
}

The extend Repositories: 扩展存储库:

@NoRepositoryBean
    public interface CandidateRepository extends BaseRepository<DatCandidate, UUID>{

        //..
    }


@Repository(value="CandidateRepositoryImpl")
public class CandidateRepositoryImpl extends BaseRepositoryImpl<DatCandidate, UUID> implements CandidateRepository{


    public CandidateRepositoryImpl(
            JpaEntityInformation<DatCandidate, UUID> entityInformation,
            EntityManager entityManager) {

        super(entityInformation, entityManager);

    }
}

Here is my configuration: 这是我的配置:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
        http://www.springframework.org/schema/data/jpa http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">

    <context:annotation-config />
    <context:component-scan base-package="com.projects"></context:component-scan>

    <jpa:repositories base-package="com.projects.repositories.impl" 
    base-class="com.projects.repositories.impl.BaseRepositoryImpl"></jpa:repositories>

    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="persistenceUnitName" value="punit" />
        <property name="dataSource" ref="dataSource" />
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <property name="showSql" value="true" />
            </bean>
        </property>
        <property name="jpaPropertyMap">
            <map>
                <entry key="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
                <entry key="hibernate.hbm2ddl.auto" value="none"/>
                <entry key="hibernate.format_sql" value="true" />
            </map>
        </property>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager"/>

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/relocationdb?autoReconnect=true" />
        <property name="username" value="root"></property>
        <property name="password" value="1234" />
    </bean>


</beans>

Service: 服务:

@Service(value="CandidateServiceImpl")
public class CandidateServiceImpl extends BaseServiceImpl<CandidateForCreationDto, CandidateDto,DatCandidate, UUID> 
                                implements CandidateService{

    private CandidateRepositoryImpl  candidateRepository;

        @Autowired
    public CandidateServiceImpl (
            @Qualifier("CandidateRepositoryImpl") JpaRepository<DatCandidate, UUID> candidateRepository
            ) {
        this.candidateRepository = (CandidateRepositoryImpl)candidateRepository;
    }
}

The Error: 错误:

Unsatisfied dependency expressed through constructor parameter 0; 通过构造函数参数0表示的不满足的依赖关系; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.data.jpa.repository.support.JpaEntityInformation' available: expected at least 1 bean which qualifies as autowire candidate. 嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为'org.springframework.data.jpa.repository.support.JpaEntityInformation'的合格bean:期望至少有1个可以作为自动装配候选的bean。 Dependency annotations: {} 依赖注释:{}

I followed the Spring JPA documentation, but can't understand the error 我遵循了Spring JPA文档,但无法理解该错误

attached is the running code 附带的是正在运行的代码

4:39:10 PM org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core {5.2.12.Final} March 21, 2018 4:39:10 PM org.hibernate.cfg.Environment INFO: HHH000206: hibernate.properties not found March 21, 2018 4:39:10 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final} March 21, 2018 4:39:12 PM org.hibernate.dialect.Dialect INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect March 21, 2018 4:39:16 PM org.apache.catalina.core.StandardContext listenerStart SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'candidateController': Unsatisfied dependency expressed through field 'candidateBaseService'; 下午4:39:10 org.hibernate.Version log版本信息:HHH000412:Hibernate Core {5.2.12.Final} 2018年3月21日4:39:10 PM org.hibernate.cfg.Environment INFO:HHH000206:hibernate.properties not发现于2018年3月21日下午4:39:10 org.hibernate.annotations.common.reflection.java.JavaReflectionManager信息:HCANN000001:Hibernate Commons注释{5.0.1.Final} 2018年3月21日下午4:39:12 org。 hibernate.dialect.Dialect信息:HHH000400:使用方言:org.hibernate.dialect.MySQL5InnoDBDialect 2018年3月21日下午4:39:16 org.apache.catalina.core.StandardContext listenerStart严重:将上下文初始化事件发送给监听器实例的异常类org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“ candidateController”的bean时出错:通过字段“ candidateBaseService”表示的不满意的依赖关系; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'CandidateServiceImpl' defined in file [C:\\Users\\alon\\Documents\\workspace-sts-3.9.2.RELEASE.metadata.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\Relocation\\WEB-INF\\classes\\com\\projects\\service\\impl\\CandidateServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; 嵌套的异常是org.springframework.beans.factory.UnsatisfiedDependencyException:创建文件[C:\\ Users \\ alon \\ Documents \\ workspace-sts-3.9.2.RELEASE.metadata.plugins \\ org中定义的名称为'CandidateServiceImpl'的bean时出错。 eclipse.wst.server.core \\ tmp0 \\ wtpwebapps \\ Relocation \\ WEB-INF \\ classes \\ com \\ projects \\ service \\ impl \\ CandidateServiceImpl.class]:通过构造函数参数0表示的依赖关系; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'CandidateRepositoryImpl' defined in file [C:\\Users\\alon\\Documents\\workspace-sts-3.9.2.RELEASE.metadata.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\Relocation\\WEB-INF\\classes\\com\\projects\\repositories\\impl\\CandidateRepositoryImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; 嵌套的异常是org.springframework.beans.factory.UnsatisfiedDependencyException:创建文件[C:\\ Users \\ alon \\ Documents \\ workspace-sts-3.9.2.RELEASE.metadata.plugins \\ org中定义的名称为'CandidateRepositoryImpl'的bean时出错。 eclipse.wst.server.core \\ tmp0 \\ wtpwebapps \\ Relocation \\ WEB-INF \\ classes \\ com \\ projects \\ repositories \\ impl \\ CandidateRepositoryImpl.class]:通过构造函数参数0表示的依赖关系; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.data.jpa.repository.support.JpaEntityInformation' available: expected at least 1 bean which qualifies as autowire candidate. 嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为'org.springframework.data.jpa.repository.support.JpaEntityInformation'的合格bean:期望至少有1个可以作为自动装配候选的bean。 Dependency annotations: {} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:587) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:91) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:373) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1344) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312) at org.springframework.bean 依赖项注释:{}在org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.org.org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:587) org.org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1344y)在org.org.org.org上的org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:373)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502)处的support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)在org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory.java:312)在org.springframework.bean s.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:760) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:868) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:409) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.ja s.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228)位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310)位于org.springframework.beans.factory.support.AbstractBeanFactory。 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:760)的org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:868)的getBean(AbstractBeanFactory.java:200) org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:409)上的.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader .java:291)在org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.ja va:103) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5110) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5633) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'CandidateServiceImpl' defined in file [C:\\Users\\alon\\Documents\\workspace-sts-3.9.2.RELEASE.metadata.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\Relocation\\WEB-INF\\classes\\com\\projects\\service\\impl\\Cand va:103)org.apache.catalina.util上的org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5110)在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5633) org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1700)的.LifecycleBase.start(LifecycleBase.java:145)org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java) :1690)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor $ Worker.run( java.lang.Thread.run(Thread.java:748)上的ThreadPoolExecutor.java:624)原因:org.springframework.beans.factory.UnsatisfiedDependencyException:创建文件[C:\\ Users]中定义的名称为'CandidateServiceImpl'的bean时出错\\ ALON \\文件\\ workspace下,STS-3.9.2.RELEASE.metadata.plugins \\ org.eclipse.wst.server.core \\ TMP0 \\ wtpwebapps \\搬迁\\ WEB-INF \\类\\ COM \\项目\\服务\\ IMPL \\ C和 idateServiceImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; idateServiceImpl.class]:通过构造函数参数0表示的不满足的依赖关系; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'CandidateRepositoryImpl' defined in file [C:\\Users\\alon\\Documents\\workspace-sts-3.9.2.RELEASE.metadata.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\Relocation\\WEB-INF\\classes\\com\\projects\\repositories\\impl\\CandidateRepositoryImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; 嵌套的异常是org.springframework.beans.factory.UnsatisfiedDependencyException:创建文件[C:\\ Users \\ alon \\ Documents \\ workspace-sts-3.9.2.RELEASE.metadata.plugins \\ org中定义的名称为'CandidateRepositoryImpl'的bean时出错。 eclipse.wst.server.core \\ tmp0 \\ wtpwebapps \\ Relocation \\ WEB-INF \\ classes \\ com \\ projects \\ repositories \\ impl \\ CandidateRepositoryImpl.class]:通过构造函数参数0表示的依赖关系; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.data.jpa.repository.support.JpaEntityInformation' available: expected at least 1 bean which qualifies as autowire candidate. 嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为'org.springframework.data.jpa.repository.support.JpaEntityInformation'的合格bean:期望至少有1个可以作为自动装配候选的bean。 Dependency annotations: {} at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:729) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1270) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1127) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312) at org.springframework.beans.factory.support.DefaultSingletonBea 依赖项注释:{}在org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:729)在org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)在org。 springorgwork.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1270)位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1127)位于org.springframework.beans.factory.support。 org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0(AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502)在org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0(AbstractBeanFactory .java:312),位于org.springframework.beans.factory.support.DefaultSingletonBea nRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:584) ... 24 more Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'CandidateRepositoryImpl' defined in file [C:\\Users\\alon\\Documents\\workspace-st org.springframework.beans.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java :)上的org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310)上的nRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) 200)在org.springframework.beans.org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251)在org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)在org.springframework.beans org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor $ AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:584)上的.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065)... 24其他原因:org.springframework。 beans.factory.UnsatisfiedDependencyException:创建在文件[C:\\ Users \\ alon \\ Documents \\ workspace-st中定义的名称为'CandidateRepositoryImpl'的bean时出错 s-3.9.2.RELEASE.metadata.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\Relocation\\WEB-INF\\classes\\com\\projects\\repositories\\impl\\CandidateRepositoryImpl.class]: Unsatisfied dependency expressed through constructor parameter 0; s-3.9.2.RELEASE.metadata.plugins \\ org.eclipse.wst.server.core \\ tmp0 \\ wtpwebapps \\ Relocation \\ WEB-INF \\ classes \\ com \\ projects \\ repositories \\ impl \\ CandidateRepositoryImpl.class]:表示不满意的依赖性通过构造函数参数0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.data.jpa.repository.support.JpaEntityInformation' available: expected at least 1 bean which qualifies as autowire candidate. 嵌套的异常是org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为'org.springframework.data.jpa.repository.support.JpaEntityInformation'的合格bean:期望至少有1个可以作为自动装配候选的bean。 Dependency annotations: {} at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:729) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1270) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1127) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:312) at org.springframework.beans.factory.support.DefaultSingletonBea 依赖项注释:{}在org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:729)在org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:192)在org。 springorgwork.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1270)位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1127)位于org.springframework.beans.factory.support。 org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0(AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:502)在org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0(AbstractBeanFactory .java:312),位于org.springframework.beans.factory.support.DefaultSingletonBea nRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200) at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:815) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:721) ... 37 more Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.spri org.springframework.beans.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java :)上的org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:310)上的nRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) 200)在org.springframework.beans.org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:251)在org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1138)在org.springframework.beans org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:815)上的.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065)在org.springframework.beans.factory.support.ConstructorResolver.create (ConstructorResolver.java:721)... 37更多原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为'org.spri的合格bean ngframework.data.jpa.repository.support.JpaEntityInformation' available: expected at least 1 bean which qualifies as autowire candidate. 可用的ngframework.data.jpa.repository.support.JpaEntityInformation:预期至少有1个有资格作为自动装配候选者的bean。 Dependency annotations: {} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1509) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:815) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:721) ... 51 more 依赖项注释:{}在org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)在org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1104)在org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1509)处。 org.springframework.beans.factory.support上的springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1065)位于org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:815)处。 ConstructorResolver.createArgumentArray(ConstructorResolver.java:721)...还有51个

מרץ 21, 2018 4:39:16 PM org.apache.catalina.core.StandardContext startInternal SEVERE: One or more listeners failed to start. 2018年12月21日,下午org.apache.catalina.core.StandardContext startInternal SEVERE:一个或多个侦听器无法启动。 Full details will be found in the appropriate container log file מרץ 21, 2018 4:39:16 PM org.apache.catalina.core.StandardContext startInternal SEVERE: Context [/Relocation] startup failed due to previous errors מרץ 21, 2018 4:39:16 PM org.apache.catalina.core.ApplicationContext log INFO: Closing Spring root WebApplicationContext מרץ 21, 2018 4:39:16 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc SEVERE: The web application [/Relocation] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. 完整的详细信息将在相应的容器日志文件中找到,21,2018 4:39:16 PM org.apache.catalina.core.StandardContext startInternal SEVERE:由于先前的错误,Context [/ Relocation]启动失败。21,2018 4: 39:16 PM org.apache.catalina.core.ApplicationContext日志信息:关闭Spring根WebApplicationContext 2018年11月21日下午4:39:16 org.apache.catalina.loader.WebappClassLoaderBase clearReferencesJdbc严重:Web应用程序[/重定位]已注册JDBC驱动程序[com.mysql.jdbc.Driver],但在Web应用程序停止时未能注销它。 To prevent a memory leak, the JDBC Driver has been forcibly unregistered. 为了防止内存泄漏,已强制注销JDBC驱动程序。 מרץ 21, 2018 4:39:16 PM org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads SEVERE: The web application [/Relocation] appears to have started a thread named [Abandoned connection cleanup thread] but has failed to stop it. 2018年6月21日,下午org.apache.catalina.loader.WebappClassLoaderBase clearReferencesThreads严重:Web应用程序[/ Relocation]似乎已启动名为[Abandoned connection cleanup thread]的线程,但未能停止。 This is very likely to create a memory leak. 这很可能造成内存泄漏。 מרץ 21, 2018 4:39:16 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["http-bio-8080"] מרץ 21, 2018 4:39:16 PM org.apache.coyote.AbstractProtocol start INFO: Starting ProtocolHandler ["ajp-bio-8009"] מרץ 21, 2018 4:39:16 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 17422 ms 2018年11月21日下午4:39:16 org.apache.coyote.AbstractProtocol开始信息:启动ProtocolHandler [“ http-bio-8080”] org.apache.coyote.Abstract月21日下午INFO。 :正在启动ProtocolHandler [“ ajp-bio-8009”]日期2018年21月4日org.apache.catalina.startup.Catalina启动信息:服务器启动时间为17422毫秒

Being pragmatic, you're trying to extend SimpleJpaRepository<T, ID> , but once you disabling it Spring does not load any implementation of JpaEntityInformation and thus the exception. 务实的是,您尝试扩展SimpleJpaRepository<T, ID> ,但是一旦禁用它,Spring不会加载JpaEntityInformation任何实现,因此也不会加载异常。

Also, as @jens-schauder said, your mixing concepts. 另外,正如@ jens-schauder所说,您的混合概念。

Try to follow this very well explained tutorial to see if it helps. 尝试遵循这个解释得很好的教程,以了解是否有帮助。

You are doing a somewhat weird combination of things here. 您在这里所做的事情有些奇怪。

On the one hand, you effectively disable all the Spring Data stuff by using @NoRepositoryBean on CandidateRepository and providing your own implementation. 一方面,通过在CandidateRepository上使用@NoRepositoryBean并提供自己的实现,可以有效地禁用所有Spring Data东西。 But then your implementation is based extends SimpleJpaRepository<T, ID> which is a core component of Spring Data but it doesn't get configured properly since you basically disabled it. 但是然后您的实现是基于扩展了SimpleJpaRepository<T, ID> ,它是Spring Data的核心组件,但是由于您基本上禁用了它,因此未正确配置它。

I guess it's time to make up your mind: 我想是时候下定决心了:

  1. Do you want to change the behavior that is provided by SimpleJpaRepository<T, ID> ? 是否要更改SimpleJpaRepository<T, ID>提供的行为? Possibly adding methods to your base implementation. 可能在基本实现中添加方法。

    If so extend it, leaving constructors as they are and use it as your repositoryBaseClass . 如果是这样扩展它,则使构造函数保持不变,并将其用作您的repositoryBaseClass Here is a tutorial how to do that . 这是一个如何做到这一点的教程

  2. Just provide custom implementation for one (or some) repositories. 只需为一个(或某些)存储库提供自定义实现即可。 Then use custom implementations . 然后使用自定义实现

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 没有类型为“ java.lang.Class”的合格bean <org.springframework.data.repository.Repository<?, ?> &gt;” - No qualifying bean of type “java.lang.Class<org.springframework.data.repository.Repository<?, ?>>” 创建存储库后,Elasticsearch不起作用没有类型为&#39;java.lang.Class的合格Bean <org.springframework.data.repository.Repository<?, ?> &gt;&#39; - Elasticsearch doesn't work after create repository No qualifying bean of type 'java.lang.Class<org.springframework.data.repository.Repository<?, ?>>' org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为[org.springframework.data.hadoop.hive.HiveOperations]的合格bean - org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.data.hadoop.hive.HiveOperations] Spring Neo4j:NoSuchBeanDefinitionException:找不到依赖项类型为[org.springframework.data.neo4j.support.Neo4jTemplate]的合格bean - Spring Neo4j: NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.data.neo4j.support.Neo4jTemplate] found for dependency Spring Boot中的JPA存储库“没有类型的限定bean” - “No qualifying bean of type” for JPA repository in Spring Boot 没有可用的“org.springframework.data.rest.core.util.Java8PluginRegistry”类型的合格 bean - No qualifying bean of type 'org.springframework.data.rest.core.util.Java8PluginRegistry' available NoSuchBeanDefinitionException:没有“org.springframework.mail.MailSender”类型的合格bean - NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.mail.MailSender' 没有类型为&#39;org.springframework.security.authentication.AuthenticationProvider&#39;的合格Bean - No qualifying bean of type 'org.springframework.security.authentication.AuthenticationProvider' 没有“org.springframework.jms.core.JmsTemplate”类型的合格bean - No qualifying bean of type 'org.springframework.jms.core.JmsTemplate' 没有定义类型为[org.springframework.transaction.PlatformTransactionManager]的限定bean - No qualifying bean of type [org.springframework.transaction.PlatformTransactionManager] is defined
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM