Spring 未找到 MVC OptionalValidatorFactoryBean

Spring MVC OptionalValidatorFactoryBean not found

您好,我设置了一个 Spring MVC (4)+Postgresql+JPA 应用程序,我遇到了以下情况: 我想为我的“用户”存储库设置自定义查询,因此将这些行添加到现有(空)UserRepository:

public interface AccountRepository extends JpaRepository<User,Long> {
    @Query("select u from User u where u.Email = ?1")
    User findByEmail(String emailAddress);

}

使用空存储库,服务器一切正常,使用上面的版本我在启动时遇到以下异常:

org.springframework.beans.factory.BeanCreationException:创建名称为 'accountController' 的 bean 时出错:注入自动装配依赖项失败;

嵌套异常是

org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 com.springapp.mvc.Repositories.AccountRepository com.springapp.mvc.AccountController.accountRepository;

嵌套异常是

org.springframework.beans.factory.CannotLoadBeanClassException: 找不到 class [org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean] 名称为 'org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean#0' 的 bean 在 null 中定义;

嵌套异常是

java.lang.ClassNotFoundException: org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean

即使我有 OptionalValidatorFactoryBean.java 在 maven 提供的罐子(提取它)中。我真的很困惑。

确保您的 Maven 依赖项中有 Spring 上下文,例如;

<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-context</artifactId>
   <version>4.1.9.RELEASE</version>
</dependency>

今天遇到了同样的问题,是jar冲突引起的。 spring-context3.1-RELEASE.jar 和 spring-context4.1-RELEASE.jar ,我的项目使用 spring4.1 ,但是 spring3.1-由于maven的依赖,context也被下载了,然后我删除了spring3.1.jar,一切顺利