我有一个 UserRepository,它是一个 CRUD 存储库,如图所示:
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
}
像这样的一个 UserController:
@RestController
@RequestMapping("/api")
public class UserController {
@Autowired
private UserRepository repository;
@Autowired
private UserResourceAssembler assembler;
和一个 WebMvcTest 类来测试我的 UserController:
@RunWith(SpringRunner.class)
@WebMvcTest(UserController.class)
public class UserControllerTest {
@Autowired
private MockMvc mvc;
@Test
public void getAllEmployeesAPI() throws Exception
{
mvc.perform( MockMvcRequestBuilders
.get("/api/users")
.accept(MediaType.APPLICATION_JSON))
.andDo(print())
.andExpect(status().isOk());
}
}
当我运行服务器时,一切都很好。但是,当我运行 maven-test 时出现此错误:
java.lang.IllegalStateException:无法加载 ApplicationContext Caused by:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“userController”的 bean 时出错:通过字段“repository”表达的依赖关系不满足;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名称为“userRepository”的 bean 时出错:设置 bean 时无法创建 [org.springframework.orm.jpa.SharedEntityManagerCreator] 类型的内部 bean“(内部 bean)#7ba1cdbe”属性“实体管理器”;嵌套异常是 org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#7ba1cdbe': Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; 嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有名为“entityManagerFactory”的 bean 可用 原因:org.springframework.beans.factory.BeanCreationException:创建名为“userRepository”的 bean 时出错:无法创建内部 bean“(内部 bean )#7ba1cdbe'类型为[org.springframework.orm.jpa.SharedEntityManagerCreator]同时设置bean属性'entityManager'; 嵌套异常是
慕容森
月关宝盒
相关分类