猿问

@SpringBootTest 创建名称为“requestMappingHandler”

我在使用 Spring Boot 时遇到问题。我收到错误启动 ApplicationContext 时出错。要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2019-09-22 10:16:18.954错误13282 --- [restartedMain] osboot.SpringApplication:应用程序运行失败

org.springframework.beans.factory.BeanCreationException:创建类路径资源中定义的名为“requestMappingHandlerAdapter”的bean时出错[org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]:通过工厂方法实例化Bean失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]:工厂方法“requestMappingHandlerAdapter”抛出异常;嵌套异常是org.springframework.beans.factory.BeanCreationException:创建类路径资源[org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]中定义的名为“mvcConversionService”的bean时出错:通过工厂方法实例化Bean失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.format.support.FormattingConversionService]:工厂方法“mvcConversionService”抛出异常;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名称为“requestRepository”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.IllegalArgumentException: Mixing of ? 不支持 ?1 等参数和其他形式!beans.factory.BeanCreationException:创建名称为“requestRepository”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.IllegalArgumentException: Mixing of ? 不支持 ?1 等参数和其他形式!beans.factory.BeanCreationException:创建名称为“requestRepository”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.IllegalArgumentException: Mixing of ? 不支持 ?1 等参数和其他形式!

用户存储库

package com.spring.course.repository;


import java.util.Optional;


import org.springframework.data.jpa.repository.JpaRepository;

import org.springframework.data.jpa.repository.Query;

import org.springframework.stereotype.Repository;


import com.spring.course.domain.User;


@Repository

public interface UserRepository extends JpaRepository<User, Long> {


    @Query("SELECT u FROM user u WHERE email = ?1 AND password = ?2")

    public Optional<User> login(String email, String password);


}


ABOUTYOU
浏览 110回答 1
1回答

四季花海

我发现问题是不再支持带有 ?1 和 ?2 参数的 @Query 它改变了** 请求存储库**现在我的班级是:package com.spring.course.repository;import java.util.List;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.Query;import org.springframework.stereotype.Repository;import com.spring.course.domain.Request;import com.spring.course.enums.RequestState;@Repositorypublic interface RequestRepository extends JpaRepository<Request, Long>{&nbsp; &nbsp; public List<Request> findAllByOwnerId(Long id);&nbsp; &nbsp; @Query("UPDATE request SET state = :state WHERE id = :id")&nbsp; &nbsp; public Request updateStatus(Long id, RequestState state);}** 请求StageRepository**package com.spring.course.repository;import java.util.List;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.Query;import org.springframework.stereotype.Repository;import com.spring.course.domain.Request;import com.spring.course.domain.RequestStage;import com.spring.course.enums.RequestState;@Repositorypublic interface RequestSatageRepository extends JpaRepository<RequestStage, Long>{&nbsp; &nbsp; public List<RequestStage> findAllByRequest(Long id);&nbsp; &nbsp; @Query("UPDATE request SET state = :state WHERE id = :id")&nbsp; &nbsp; public Request updateStatus(Long id, RequestState state);}** 用户存储库**package com.spring.course.repository;import java.util.Optional;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.data.jpa.repository.Query;import org.springframework.stereotype.Repository;import com.spring.course.domain.User;@Repositorypublic interface UserRepository extends JpaRepository<User, Long> {&nbsp; &nbsp; @Query("SELECT u FROM user u WHERE email = :email AND password = :password")&nbsp; &nbsp; public Optional<User> login(String email, String password);}
随时随地看视频慕课网APP

相关分类

Java
我要回答