我是靠谱客的博主 傲娇蛋挞,最近开发中收集的这篇文章主要介绍Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'm,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、maven pom配置如下文件:

org.springframework.boot
spring-boot-starter-parent
2.1.6.RELEASE

2、自定实现一个自己的域存储库:
package com.springdata.jpa01.repository;

import com.springdata.jpa01.entity.User;

public interface MyUserRepository extends MyBaseRepository<User, Long> {

public User findById(Long id);

}

package com.springdata.jpa01.repository;

import com.springdata.jpa01.entity.User;

public interface MyUserRepository extends MyBaseRepository<User, Long> {

public User findById(Long id);

}

自定义存储库的好处,个人认为在于可以自定义暴露想要的方法

报错:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘myUserRepository’: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.lang.Object com.springdata.jpa01.repository.MyBaseRepository.findById1(java.io.Serializable)! No property id1 found for type User! Did you mean ‘id’?
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean 0 ( A b s t r a c t B e a n F a c t o r y . j a v a : 320 )   [ s p r i n g − b e a n s − 5.1.8. R E L E A S E . j a r : 5.1.8. R E L E A S E ] a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . D e f a u l t S i n g l e t o n B e a n R e g i s t r y . g e t S i n g l e t o n ( D e f a u l t S i n g l e t o n B e a n R e g i s t r y . j a v a : 222 )   [ s p r i n g − b e a n s − 5.1.8. R E L E A S E . j a r : 5.1.8. R E L E A S E ] a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . A b s t r a c t B e a n F a c t o r y . d o G e t B e a n ( A b s t r a c t B e a n F a c t o r y . j a v a : 318 )   [ s p r i n g − b e a n s − 5.1.8. R E L E A S E . j a r : 5.1.8. R E L E A S E ] a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . A b s t r a c t B e a n F a c t o r y . g e t B e a n ( A b s t r a c t B e a n F a c t o r y . j a v a : 199 )   [ s p r i n g − b e a n s − 5.1.8. R E L E A S E . j a r : 5.1.8. R E L E A S E ] a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . c o n f i g . D e p e n d e n c y D e s c r i p t o r . r e s o l v e C a n d i d a t e ( D e p e n d e n c y D e s c r i p t o r . j a v a : 277 )   [ s p r i n g − b e a n s − 5.1.8. R E L E A S E . j a r : 5.1.8. R E L E A S E ] a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . D e f a u l t L i s t a b l e B e a n F a c t o r y . d o R e s o l v e D e p e n d e n c y ( D e f a u l t L i s t a b l e B e a n F a c t o r y . j a v a : 1251 )   [ s p r i n g − b e a n s − 5.1.8. R E L E A S E . j a r : 5.1.8. R E L E A S E ] a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . s u p p o r t . D e f a u l t L i s t a b l e B e a n F a c t o r y . r e s o l v e D e p e n d e n c y ( D e f a u l t L i s t a b l e B e a n F a c t o r y . j a v a : 1171 )   [ s p r i n g − b e a n s − 5.1.8. R E L E A S E . j a r : 5.1.8. R E L E A S E ] a t o r g . s p r i n g f r a m e w o r k . b e a n s . f a c t o r y . a n n o t a t i o n . A u t o w i r e d A n n o t a t i o n B e a n P o s t P r o c e s s o r 0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1251) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor 0(AbstractBeanFactory.java:320) [springbeans5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [springbeans5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) [springbeans5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) [springbeans5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) [springbeans5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1251) [springbeans5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171) [springbeans5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessorAutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
… 24 common frames omitted
Caused by: java.lang.IllegalArgumentException: Failed to create query for method public abstract java.lang.Object com.springdata.jpa01.repository.MyBaseRepository.findById1(java.io.Serializable)! No property id1 found for type User! Did you mean ‘id’?
at org.springframework.data.jpa.repository.query.PartTreeJpaQuery.(PartTreeJpaQuery.java:84) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy C r e a t e Q u e r y L o o k u p S t r a t e g y . r e s o l v e Q u e r y ( J p a Q u e r y L o o k u p S t r a t e g y . j a v a : 106 )   [ s p r i n g − d a t a − j p a − 2.1.9. R E L E A S E . j a r : 2.1.9. R E L E A S E ] a t o r g . s p r i n g f r a m e w o r k . d a t a . j p a . r e p o s i t o r y . q u e r y . J p a Q u e r y L o o k u p S t r a t e g y CreateQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:106) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE] at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy CreateQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:106) [springdatajpa2.1.9.RELEASE.jar:2.1.9.RELEASE]atorg.springframework.data.jpa.repository.query.JpaQueryLookupStrategyCreateIfNotFoundQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:211) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.jpa.repository.query.JpaQueryLookupStrategy A b s t r a c t Q u e r y L o o k u p S t r a t e g y . r e s o l v e Q u e r y ( J p a Q u e r y L o o k u p S t r a t e g y . j a v a : 79 )   [ s p r i n g − d a t a − j p a − 2.1.9. R E L E A S E . j a r : 2.1.9. R E L E A S E ] a t o r g . s p r i n g f r a m e w o r k . d a t a . r e p o s i t o r y . c o r e . s u p p o r t . R e p o s i t o r y F a c t o r y S u p p o r t AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:79) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE] at org.springframework.data.repository.core.support.RepositoryFactorySupport AbstractQueryLookupStrategy.resolveQuery(JpaQueryLookupStrategy.java:79) [springdatajpa2.1.9.RELEASE.jar:2.1.9.RELEASE]atorg.springframework.data.repository.core.support.RepositoryFactorySupportQueryExecutorMethodInterceptor.lookupQuery(RepositoryFactorySupport.java:566) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.repository.core.support.RepositoryFactorySupport Q u e r y E x e c u t o r M e t h o d I n t e r c e p t o r . l a m b d a QueryExecutorMethodInterceptor.lambda QueryExecutorMethodInterceptor.lambdamapMethodsToQuery$1(RepositoryFactorySupport.java:559) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at java.util.stream.ReferencePipeline$3 1. a c c e p t ( R e f e r e n c e P i p e l i n e . j a v a : 193 )   [ n a : 1.8. 0 1 31 ] a t j a v a . u t i l . I t e r a t o r . f o r E a c h R e m a i n i n g ( I t e r a t o r . j a v a : 116 )   [ n a : 1.8. 0 1 31 ] a t j a v a . u t i l . C o l l e c t i o n s 1.accept(ReferencePipeline.java:193) ~[na:1.8.0_131] at java.util.Iterator.forEachRemaining(Iterator.java:116) ~[na:1.8.0_131] at java.util.Collections 1.accept(ReferencePipeline.java:193) [na:1.8.0131]atjava.util.Iterator.forEachRemaining(Iterator.java:116) [na:1.8.0131]atjava.util.CollectionsUnmodifiableCollection 1. f o r E a c h R e m a i n i n g ( C o l l e c t i o n s . j a v a : 1049 )   [ n a : 1.8. 0 1 31 ] a t j a v a . u t i l . S p l i t e r a t o r s 1.forEachRemaining(Collections.java:1049) ~[na:1.8.0_131] at java.util.Spliterators 1.forEachRemaining(Collections.java:1049) [na:1.8.0131]atjava.util.SpliteratorsIteratorSpliterator.forEachRemaining(Spliterators.java:1801) ~[na:1.8.0_131]
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_131]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_131]
at java.util.stream.ReduceOps R e d u c e O p . e v a l u a t e S e q u e n t i a l ( R e d u c e O p s . j a v a : 708 )   [ n a : 1.8. 0 1 31 ] a t j a v a . u t i l . s t r e a m . A b s t r a c t P i p e l i n e . e v a l u a t e ( A b s t r a c t P i p e l i n e . j a v a : 234 )   [ n a : 1.8. 0 1 31 ] a t j a v a . u t i l . s t r e a m . R e f e r e n c e P i p e l i n e . c o l l e c t ( R e f e r e n c e P i p e l i n e . j a v a : 499 )   [ n a : 1.8. 0 1 31 ] a t o r g . s p r i n g f r a m e w o r k . d a t a . r e p o s i t o r y . c o r e . s u p p o r t . R e p o s i t o r y F a c t o r y S u p p o r t ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_131] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_131] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_131] at org.springframework.data.repository.core.support.RepositoryFactorySupport ReduceOp.evaluateSequential(ReduceOps.java:708) [na:1.8.0131]atjava.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) [na:1.8.0131]atjava.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) [na:1.8.0131]atorg.springframework.data.repository.core.support.RepositoryFactorySupportQueryExecutorMethodInterceptor.mapMethodsToQuery(RepositoryFactorySupport.java:561) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.repository.core.support.RepositoryFactorySupport Q u e r y E x e c u t o r M e t h o d I n t e r c e p t o r . l a m b d a QueryExecutorMethodInterceptor.lambda QueryExecutorMethodInterceptor.lambdanew 0 ( R e p o s i t o r y F a c t o r y S u p p o r t . j a v a : 551 )   [ s p r i n g − d a t a − c o m m o n s − 2.1.9. R E L E A S E . j a r : 2.1.9. R E L E A S E ] a t j a v a . u t i l . O p t i o n a l . m a p ( O p t i o n a l . j a v a : 215 )   [ n a : 1.8. 0 1 31 ] a t o r g . s p r i n g f r a m e w o r k . d a t a . r e p o s i t o r y . c o r e . s u p p o r t . R e p o s i t o r y F a c t o r y S u p p o r t 0(RepositoryFactorySupport.java:551) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE] at java.util.Optional.map(Optional.java:215) ~[na:1.8.0_131] at org.springframework.data.repository.core.support.RepositoryFactorySupport 0(RepositoryFactorySupport.java:551) [springdatacommons2.1.9.RELEASE.jar:2.1.9.RELEASE]atjava.util.Optional.map(Optional.java:215) [na:1.8.0131]atorg.springframework.data.repository.core.support.RepositoryFactorySupportQueryExecutorMethodInterceptor.(RepositoryFactorySupport.java:551) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.repository.core.support.RepositoryFactorySupport.getRepository(RepositoryFactorySupport.java:324) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.lambda$afterPropertiesSet$5(RepositoryFactoryBeanSupport.java:297) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.util.Lazy.getNullable(Lazy.java:211) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.util.Lazy.get(Lazy.java:94) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.repository.core.support.RepositoryFactoryBeanSupport.afterPropertiesSet(RepositoryFactoryBeanSupport.java:300) ~[spring-data-commons-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.data.jpa.repository.support.JpaRepositoryFactoryBean.afterPropertiesSet(JpaRepositoryFactoryBean.java:121) ~[spring-data-jpa-2.1.9.RELEASE.jar:2.1.9.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1837) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1774) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
… 34 common frames omitted

错误原因在于之前的方法名定义错误,后来findById正确,个人感觉真正的原因为SpringData Jpa底层利用动态代理的方法实现的,我动态代理比如jdk原生支持的目标类(SimpleJpaRepository)和代理类实现同一个接口,如果我们方法名定义错误将无法与目标类进行匹配,这是一个约定的规则,所以会包上面错误。

最后

以上就是傲娇蛋挞为你收集整理的Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'm的全部内容,希望文章能够帮你解决Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'm所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(61)

评论列表共有 0 条评论

立即
投稿
返回
顶部