簡體   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