繁体   English   中英

Spring @Autowired 不工作 - 预计至少有 1 个 bean 有资格作为 autowire 候选

[英]Spring @Autowired not working - expected at least 1 bean which qualifies as autowire candidate

我正在使用 Java 14 和 Spring 启动 2.4.0-SNAPSHOT。

我有一个资源,我尝试在其中自动装配一个approvalRequestService

ApprovalRequestResource.java

@RestController
public class ApprovalRequestResource {

    @Autowired
    ApprovalRequestService approvalRequestService;

这是一个接口:

ApprovalRequestService.java

@Service
public interface ApprovalRequestService {

    List<ApprovalRequestDTO> getApprovalRequests(String token);
}

并具有以下实现:

ApprovalRequestServiceImpl.java

public class ApprovalRequestServiceImpl implements ApprovalRequestService {

    @Autowired
    ApprovalRequestDAO approvalRequestDAO;

    @Autowired
    CompanyContactService companyContactService;

    @Autowired
    JwtTokenUtil jwtTokenUtil;

    @Override
    public List<ApprovalRequestDTO> getApprovalRequests(String jwtToken) {

当我启动 Spring Boot 时,出现以下错误:

应用程序无法启动

描述:

com.nexct.approvalservice.resources.ApprovalRequestResource 中的字段approvalRequestService 需要找不到类型为“com.nexct.approvalservice.service.ApprovalRequestService”的bean。

注入点有以下注解:

  • @org.springframework.beans.factory.annotation.Autowired(required=true)

行动:

考虑在您的配置中定义“com.nexct.approvalservice.service.ApprovalRequestService”类型的 bean。

与目标 VM 断开连接,地址:'127.0.0.1:55876',传输:'socket'

进程以退出代码 0 结束

上下文初始化期间遇到异常 - 取消刷新尝试:org.springframework.beans.factory.UnsatisfiedDependencyException:创建名称为“approvalRequestResource”的bean时出错:通过字段“approvalRequestService”表示的依赖关系不满足; 嵌套异常是 org.springframework.beans.factory.NoSuchBeanDefinitionException:没有“com.nexct.approvalservice.service.ApprovalRequestService”类型的合格 bean 可用:预计至少有 1 个有资格作为自动装配候选者的 bean。 依赖注解:{@org.springframework.beans.factory.annotation.Autowired(required=true)}

问题

我如何错误地接线?

它似乎不喜欢 ApprovalRequestResource.java 中的以下内容:

@Autowired
ApprovalRequestService approvalRequestService;

您必须将 @Service 注释放在实现而不是接口

public interface ApprovalRequestService {

    List<ApprovalRequestDTO> getApprovalRequests(String token);
}

@Service
public class ApprovalRequestServiceImpl implements ApprovalRequestService {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM