解決:Initialization of bean failed; nested exception is java.lang.AbstractMethodError
阿新 • • 發佈:2019-02-09
環境
Spring Data Jpa + Hibernate
使用版本
hibernate
<hibernate.version>5.2.10.Final</hibernate.version>
Spring Data Jpa
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>2.0.2.RELEASE</version >
</dependency>
錯誤發生點
@Repository
public interface UserDao extends JpaRepository<SYS_USER,String>,JpaSpecificationExecutor<SYS_USER>{
/**
* 根據使用者名稱查詢使用者
*
* @param username 使用者名稱
* @return SYS_USER
*/
SYS_USER findByUsername(String username);
}
控制檯輸出
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userDao': Initialization of bean failed; nested exception is java.lang.AbstractMethodError
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564 )
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:522)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:496)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:627)
at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:169)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:318)
... 74 more
原因
- 直接原因:不能例項化bean。
- 間接原因:版本衝突
解決
降低 spring-data-jpa 的版本
<version>1.11.9.RELEASE</version>