您好我已经设置了一个Spring MVC(4)+ Postgresql + JPA应用程序,我遇到了以下情况: 我想为我的" User"设置自定义查询。存储库因此将这些行添加到现有(空)UserRepository:
public interface AccountRepository extends JpaRepository<User,Long> {
@Query("select u from User u where u.Email = ?1")
User findByEmail(String emailAddress);
}
使用空的Repository,服务器一切正常,上面的verison在启动时遇到以下异常:
org.springframework.beans.factory.BeanCreationException:使用名称&#39; accountController创建bean时出错&#39;:注入自动连接的依赖项失败;
嵌套异常是
org.springframework.beans.factory.BeanCreationException:无法自动装配字段:private com.springapp.mvc.Repositories.AccountRepository com.springapp.mvc.AccountController.accountRepository;
嵌套异常是
org.springframework.beans.factory.CannotLoadBeanClassException:找不到名为&#39; org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0&#39;的bean的类[org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean]。以null定义;
嵌套异常是
java.lang.ClassNotFoundException:org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean
即使很难,我在随maven提供的jar(解压缩)中也有OptionalValidatorFactoryBean.java。我真的很困惑。
答案 0 :(得分:1)
确保您的maven依赖项中有Spring Context,例如;
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.1.9.RELEASE</version>
</dependency>
答案 1 :(得分:1)
今天我遇到了同样的问题,它是由jar冲突引起的。 spring-context3.1-RELEASE.jar和spring-context4.1-RELEASE.jar,我的项目使用spring4.1,但spring3.1-context也因为maven依赖而下载,然后我重新启动了spring3.1.jar,一切顺利