Sping Boot :异常:org.springframework.beans.factory.UnsatisfiedDependencyException

pvcm50d1  于 5个月前  发布在  Spring
关注(0)|答案(1)|浏览(88)

例外情况:Error:Error creating bean with name 'customTokenAuthenticationFilter':UnsatisfiedDependencyException:Error creating bean with name 'customAuthentication':UnsatisfiedDependencyException:Error creating bean with name ' customAuthentication':UnsatisfiedDependencyException:Error creating bean with name 'customAuthentication':UnsatisfiedDependencyException:创建名为“customUserDetailsServiceImpl '”的bean时出错:通过字段“baseJpaRepository'”表示的依赖项不满足;嵌套异常是org.springframework.beans.factory. NoUniqueBeanRepositionException:No qualifying bean of type“com.spring. Boot .common.persistence.repository.base.BaseJpaRepository<?>”available:预期有单个匹配bean,但找到60:lookupQueryRepository,historyRepository,ussdMenuRepository,ICapRepository,organizationRepository,menuRepository,persistentLoginRepository,roleRepository,ussdTransactionRepository,overDraftKYCRepository,useCaseRepository,userconfigureationRepository,configuretransactionRepository,queryInfoRepository,ussdTransactionLogRepository,configuregeRepository,payBillC2BRepository,userRoleRepository,userRepository,cronJobRepository,notifyCVMAPIRepository,buyAirtimeRepository,openNetRepository,endpointconfigureationRepository,walletToBankTPGenericRepository,queryconfigureationInfoRepository,currencyRepository,preferenceRepository,queryCustomerRepository,activityLoggingRepository,configurecParamValueRepository,notifyCvmRepository,queryCustomerBalanceRepository,purchaseAirtimeRepository,ussdMenuEndpointRepository,useCaseProcessRepository,paybillB2CRepository,transactionLogRepository,dealerDiscountRepository,buyBundleProductRepository,airTimeRequestRepository,queryBountationBalanceRepository,userBountageRepository,walletToBankTPUBARepository,userCredentialRepository,queryBalanceRepository,roleBountageRepository,constantBountationRepository,BountableLogRepository,ussdSessionRepository,BountableLogRepository,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;
}


当我在BaseServiceImpl中使用BaseJpaRepository<E> baseJpaRepository时,我得到一个错误。

ff29svar

ff29svar1#

问题由Spring在下面的消息中指定
期望单个匹配bean,但找到60个
由于您有多个BaseJpaRepository的实现,Spring本身无法知道它应该注入哪个特定的bean,因此,它无法示例化您的service impl。
如果你试图为你的服务类创建一些通用的方法,最好不要在你的父类中注入任何东西,而是使用策略设计模式或模板设计模式。
https://refactoring.guru/design-patterns/template-method
https://refactoring.guru/design-patterns/strategy

相关问题