java - SpringBoot - UnsatisfiedDependencyException Spring Boot 不是扩展 CrudRepository 的 Autowiring Repository 接口(interface)

标签 java spring-mvc spring-boot

Spring Boot 应用程序在启动服务器时抛出异常。
异常(exception)情况是:

Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'userService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userService': Unsatisfied dependency expressed through field 'userRepository'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'yhcmain.healthcare.repositories.UserRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}


<小时/>

应用程序无法启动

<小时/>

描述:

yhcmain.healthcare.service.user.UserServiceImpl 中的字段 userRepository 需要类型为“yhcmain.healthcare.repositories.UserRepository”的 bean,但无法找到。

行动:

考虑在配置中定义“yhcmain.healthcare.repositories.UserRepository”类型的 bean

Controller :

@RestController
@CrossOrigin("*")
public class UserController {

    @Autowired
    private ServiceResponse response;

    @Autowired
    private UserService userService;

    @RequestMapping(value = "/index", method = RequestMethod.POST, headers = "Accept=application/json")
    public ResponseEntity<ServiceResponse> signUpAttempt(@RequestBody User user) {
        ...
        ...
    }
}

服务:

@Service("userService")
public class UserServiceImpl implements UserService {

    @Autowired
    private UserRepository userRepository;

    public User createUser(User user) {
        return this.userRepository.save(user);
    }
}

存储库:

@Repository("userRepository")
public interface UserRepository extends CrudRepository<User, String> {
}

主要应用:

@SpringBootApplication
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
public class HealthcareApplication implements WebMvcConfigurer {

    public static void main(String[] args) {
        SpringApplication.run(HealthcareApplication.class, args);
    }

    @Override
    public void addCorsMappings(CorsRegistry registry) {
    ...
    ...
    }
}

最佳答案

您需要在CrudRepository接口(interface)中提供实体的主键(Long或Integer形式的ID)存储库定义并确保 @ComponentScan("RootDirectoryURL") 工作正常。

...

@Repository("userRepository")
public interface UserRepository extends CrudRepository<User, PrimaryKey> {}

...

快乐编码..:)

关于java - SpringBoot - UnsatisfiedDependencyException Spring Boot 不是扩展 CrudRepository 的 Autowiring Repository 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51924392/

相关文章:

java - Spring @Autowired 注入(inject)不起作用 : DAO is always null

javascript - 如何等待订阅建立?

spring-boot - [com.example.blog.SnapEngChatRequest] 和内容类型 [application/x-www-form-urlencoded] 没有 HttpMessageConverter

java - 将二进制数据转换为字符数据的最佳方法是什么?

java - Spring 启动: Log File in current date directory and rollover

java - 如何实现 hamcrest 匹配器

java - 如何在 Angular 应用程序上显示来自 springboot 的异常消息

java - bufferedReader.readLine();总是返回空值

java - 带有发布数据、用户名和密码的 curl url 以及作为文件的响应

spring - 如何在访问部署在 Tomcat 上的 restful spring-boot 应用程序时修复此 IlleagalstateException?