例外: org.springframework.beans.factory.UnsatisfiedDependencyException。 消息:创建带有名称的 bean 时出错 “customTokenAuthenticationFilter”:表达了不满足的依赖关系 通过字段“customAuthentication”;嵌套异常是 org.springframework.beans.factory.UnsatisfiedDependencyException: 创建名称为“customAuthentication”的 bean 时出错:不满意 通过字段“customUserDetailsService”表达的依赖关系;嵌套的 例外是 org.springframework.beans.factory.UnsatisfiedDependencyException: 创建名为“customUserDetailsServiceImpl”的 bean 时出错: 通过字段“baseJpaRepository”表达的依赖关系不满足; 嵌套异常是 org.springframework.beans.factory.NoUniqueBeanDefinitionException:否 合格的 bean 类型 'com.spring.boot.common.persistence.repository.base.BaseJpaRepository' 可用:预期有一个匹配的 bean,但发现了 60 个: LookupQueryRepository、historyRepository、ussdMenuRepository、ICapRepository、organizationRepository、menuRepository、persistentLoginRepository、roleRepository、ussdTransactionRepository、overDraftKYCRepository、useCaseRepository、userOrganizationRepository、asyncTransactionRepository、queryInfoRepository、ussdTransactionLogRepository、privilegeRepository、payBillC 2BRepository、userRoleRepository、userRepository、cronJobRepository、notifyCVMAPIRepository、buyAirtimeOtherRepository、openNetRepository、endpointConfigurationRepository、walletToBankTPGenericRepository、 queryOrganizationInfoRepository、currencyRepository、preferenceRepository、queryCustomerRepository、activityLoggingRepository、asyncParamValueRepository、notifyCvmRepository、queryCustomerBalanceRepository、purchaseAirtimeRepository、ussdMenuEndpointRepository、useCaseProcessRepository、paybillB2CRepository、transactionLogRepository、dealerDiscountRepository、buyBundleProductRepository ory,airTimeRequestRepository,queryOrganizationBalanceRepository,userPrivilegeRepository,walletToBankTPUBARepository,userCredentialRepository,queryBalanceRepository,rolePrivilegeRepository,constantsConfigurationRepository,queueLogRepository,ussdSessionRepository, auditLogRepository、walletToBankRepository、walletToBankTPFincaRepository、APIPaymentRequestRepository、dealerTypeRepository、exchangeRateRepository、walletToBankTPEcoBankRepository、queryChangeOptionalOfferRepository、airtimeTransferRepository、dealerRepository
基础存储库
@NoRepositoryBean
public interface BaseJpaRepository<E extends BaseEntity> extends JpaRepository<E, Long> {
}
实施存储库
@Repository
public interface ActivityLoggingRepository extends BaseJpaRepository<ActivityLog> {
}
基础服务
public abstract class BaseServiceImpl<E extends BaseEntity, ID extends Serializable> implements BaseService<E, ID> {
@Autowired
protected BaseJpaRepository<E> baseJpaRepository;
}
当我在
BaseJpaRepository<E> baseJpaRepository
中使用 BaseServiceImpl
时,出现错误。
Spring 在下面的消息中指定了问题
预期有一个匹配的 bean,但发现了 60 个
由于您有超过 1 个
BaseJpaRepository
的实现,Spring 本身无法知道应该注入哪个特定的 bean,因此它无法实例化您的服务实现。
如果您尝试为服务类创建一些通用方法,最好不要在父类中注入任何内容。请改用策略设计模式或模板设计模式。