当前位置: 首页 > 知识库问答 >
问题:

静态编程语言字段需要找不到类型的bean错误

萧奇
2023-03-14

我使用KOTLIN/SPRING BOOT(2.5.4)/MAVEN/MARIA DB我遇到了这样的错误,所以我想我必须找到make bean。但是我找不到我错过的东西。你能帮我吗...?

> 2021-08-31 13:45:25.923  WARN 7696 --- [  restartedMain]
> ConfigServletWebServerApplicationContext : 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 'userServiceImpl': Unsatisfied
> dependency expressed through field 'userRepository'; nested exception
> is org.springframework.beans.factory.NoSuchBeanDefinitionException: No
> qualifying bean of type
> 'com.example.test0831.repository.UserRepository' available: expected
> at least 1 bean which qualifies as autowire candidate. Dependency
> annotations:
> {@org.springframework.beans.factory.annotation.Autowired(required=true)}
> 2021-08-31 13:45:25.925  INFO 7696 --- [  restartedMain]
> o.apache.catalina.core.StandardService   : Stopping service [Tomcat]
> 2021-08-31 13:45:25.933  INFO 7696 --- [  restartedMain]
> ConditionEvaluationReportLoggingListener : 
> 
> Error starting ApplicationContext. To display the conditions report
> re-run your application with 'debug' enabled. 2021-08-31 13:45:25.947
> ERROR 7696 --- [  restartedMain]
> o.s.b.d.LoggingFailureAnalysisReporter   : 
> 
> *************************** APPLICATION FAILED TO START
> ***************************
> 
> Description:
> 
> Field userRepository in com.example.test0831.service.UserServiceImpl
> required a bean of type
> 'com.example.test0831.repository.UserRepository' that could not be
> found.
> 
> The injection point has the following annotations:
>   - @org.springframework.beans.factory.annotation.Autowired(required=true)
> 
> 
> Action:
> 
> Consider defining a bean of type
> 'com.example.test0831.repository.UserRepository' in your
> configuration.

我的项目是Kotlin com。实例测试0831└ 控制器└ 用户控制器└ 实体└ 使用者└ 存储库└ 用户存储库└ 服务└ 用户服务└ UserServiceImpl

程序包com。实例test0831.controller。用户控制器

import com.example.test0831.entity.User
import com.example.test0831.service.UserService
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Controller
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController

@Controller
class UserController {

    @Autowired
    lateinit var userService: UserService

    @GetMapping("users")
    fun getUserList(): List<User> {
        return userService.getUserList()
    }
}

程序包com。实例test0831.entity。使用者

data class User(var id: Int, var name: String, var phone: String, var address: String)

包com.example.test0831.repository.UserRepository

    import org.apache.ibatis.annotations.*
     import com.example.test0831.entity.User
     import org.springframework.stereotype.Repository
    
     @Mapper
     @Repository
     interface UserRepository {
    
         @Select("Select * FROM user;")
         fun selectUserList(): List<User>
     }




***package com.example.test0831.service.UserService***
import com.example.test0831.entity.User

interface UserService {
    fun getUserList(): List<User>
}

程序包com。实例test0831.service。UserServiceImpl

import com.example.test0831.entity.User
import com.example.test0831.repository.UserRepository
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Service

@Service
class UserServiceImpl: UserService {

    @Autowired
    private lateinit var userRepository: UserRepository

    @Override
    override fun getUserList(): List<User> = userRepository.selectUserList()
}

应用属性

spring.datasource.driverClassName=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/userinfo?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password={password}
spring.jpa.show-sql=true

共有1个答案

夏经武
2023-03-14

您应该定义您的用户存储库以扩展任何spring JPA存储库界面,例如,CrudRepository或JPARepository

interface UserRepository  : CrudRepository<User, Long> {

     @Select("Select * FROM user;")
     fun selectUserList(): List<User>
 }
 类似资料:
  • 我是一名spring boot学习者,所以我一直在尝试创建一些基本的spring boot应用程序。我试图运行开发的应用程序时出错。 我的错误是[[https://i.stack.imgur.com/oyQDi.png][1]][1] java: ItemDetails.java:[软件包名称:io.ajithan.springbootstarter.model] ItemResponse.jav

  • 结构没有问题。spring boot可以扫描UserMapper,但不能扫描UserService。我试着给我的UserService@Mapper组件,然后它就可以被扫描了。但我不知道如何使用其他方法进行扫描。我尝试了@服务,但不起作用。

  • 我正在Kotlin进行大师/细节流程活动。我有碎片不匹配的问题,因为在一个活动中我需要Android。支持v4.app。Fragment和其他android。应用程序。碎片我实现了自己的细节片段,并继承了Android系统。支持v4.app。用于修复ListActivity中supportFragmnet事务中不匹配的片段 但是,我在DetailActivity中的fragmentManager中

  • 在spring Boot1.5.9上创建spring boot应用程序时,我收到以下错误消息。有谁能帮忙吗?提前道谢。 Oracle 11g数据库。 请找到我在pom.xml中使用的以下类: Java代码-应用程序: Java代码存储库: Java代码服务:

  • 我有一个java项目,它将Spring Boot与JPA结合使用,并将Hibernate用于数据库。我正在尝试建立一个访问数据库的微服务。(我不熟悉微服务和Spring Boot)。 以下是主要课程: IGmCircularsDAO. class: GMCircularsDAOImpl。类别: ParentDAO。班 循环服务。班 当我运行这段代码时,我遇到了以下错误,我已经陷入其中一段时间了。

  • 问题内容: 我的项目目录结构是这样的。 这是我的 model/User.java文件 这是我的rest / UsersController.java文件 这是我的service / UserService.java文件 我可以编译它们(我正在使用gradle进行编译,因为我正在按照教程进行操作),但是当我运行jar文件时,它会抛出此错误。 申请启动失败 描述: main.java.rest.Use