Bla*_*ack 11 java spring spring-mvc noclassdeffounderror spring-data
我试图使用spring注释在控制器中自动装配存储库.我收到错误org.springframework.data.repository.query.QueryByExampleExecutor class not found
,我无法找到解决方案.
我得到的错误:
SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'articleController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.payforeign.article.ArticleRepository com.payforeign.article.ArticleController.repository; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'articleRepository': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/data/repository/query/QueryByExampleExecutor
Run Code Online (Sandbox Code Playgroud)
调节器
package com.payforeign.article;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/service")
public class ArticleController {
@Autowired
private ArticleRepository repository;
//controller methods
}
Run Code Online (Sandbox Code Playgroud)
知识库
我有一个带注释的存储库@Repository
.根据spring文档,我只有存储库接口.这是对的吗?
package com.payforeign.article;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ArticleRepository extends CrudRepository<Article, Long> {}
Run Code Online (Sandbox Code Playgroud)
applicationContext.xml中
我已经包括jpa:repositories
正确base-package
和component-scan
.我已经指定它是注释驱动(<mvc:annotation-driven /> <tx:annotation-driven />
)并添加了JDBC和JPA设置.我的applicationContext.xml是从web.xml正确加载的
<?xml version='1.0' encoding='UTF-8' ?>
<beans ...>
<context:component-scan base-package="com.payforeign,com.payforeign.article" />
<mvc:annotation-driven />
<jpa:repositories base-package="com.payforeign.article" />
<!-- Data Source -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" >
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/payforeign" />
<property name="username" value="root" />
<property name="password" value="" />
</bean>
<!-- Hibernate -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan" value="com.payforeign.article" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="true" />
<property name="generateDdl" value="true" />
<property name="database" value="MYSQL" />
</bean>
</property>
</bean>
<!-- enable the configuration of transactional behavior based on annotations -->
<tx:annotation-driven />
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>
</beans>
Run Code Online (Sandbox Code Playgroud)
Via*_*mov 12
您的问题是关于依赖性.
您正在寻找的课程在这里:https: //github.com/spring-projects/spring-data-jpa/blob/master/src/main/java/org/springframework/data/jpa/repository/JpaRepository. java的
正如您所看到的,最新版本的spring-data-jpa具有它,因此您应该将失败的拒绝升级到最新版本或稍微降级spring-data-jpa版本(不推荐).
我在使用spring boot和mongoDB jpa存储库的应用程序中遇到了类似的问题.
例如,我有spring-data-jpa和spring-data-mongodb依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>1.9.2.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但是spring boot-boot-starter-data-jpa隐式使用了比1.9.2.RELEASE更早版本的spring-data-mongodb.最简单的方法是将spring-data-mongodb降级到1.8.4.RELEASE版本.
归档时间: |
|
查看次数: |
13021 次 |
最近记录: |