概述
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) [spring−beans−5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) [spring−beans−5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) [spring−beans−5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) [spring−beans−5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) [spring−beans−5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1251) [spring−beans−5.1.8.RELEASE.jar:5.1.8.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1171) [spring−beans−5.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) [spring−data−jpa−2.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) [spring−data−jpa−2.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) [spring−data−commons−2.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所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复