Java Spring@Autowired不工作-至少需要1个符合Autowired候选条件的bean

Java Spring@Autowired不工作-至少需要1个符合Autowired候选条件的bean,java,spring,spring-boot,Java,Spring,Spring Boot,我正在使用Java14和SpringBoot2.4.0-SNAPSHOT 我有一个资源,在其中我尝试自动连接approvalRequestService ApprovalRequestResource.java @RestController public class ApprovalRequestResource { @Autowired ApprovalRequestService approvalRequestService; @Service public inter

我正在使用Java14和SpringBoot2.4.0-SNAPSHOT

我有一个资源,在其中我尝试自动连接
approvalRequestService

ApprovalRequestResource.java

@RestController
public class ApprovalRequestResource {

    @Autowired
    ApprovalRequestService approvalRequestService;
@Service
public interface ApprovalRequestService {

    List<ApprovalRequestDTO> getApprovalRequests(String token);
}
public class ApprovalRequestServiceImpl implements ApprovalRequestService {

    @Autowired
    ApprovalRequestDAO approvalRequestDAO;

    @Autowired
    CompanyContactService companyContactService;

    @Autowired
    JwtTokenUtil jwtTokenUtil;

    @Override
    public List<ApprovalRequestDTO> getApprovalRequests(String jwtToken) {
这是一个接口:

ApprovalRequestService.java

@RestController
public class ApprovalRequestResource {

    @Autowired
    ApprovalRequestService approvalRequestService;
@Service
public interface ApprovalRequestService {

    List<ApprovalRequestDTO> getApprovalRequests(String token);
}
public class ApprovalRequestServiceImpl implements ApprovalRequestService {

    @Autowired
    ApprovalRequestDAO approvalRequestDAO;

    @Autowired
    CompanyContactService companyContactService;

    @Autowired
    JwtTokenUtil jwtTokenUtil;

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

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

public interface ApprovalRequestService {

    List<ApprovalRequestDTO> getApprovalRequests(String token);
}

@Service
public class ApprovalRequestServiceImpl implements ApprovalRequestService {
公共接口ApprovalRequestService{
列出getApprovalRequests(字符串令牌);
}
@服务
公共类ApprovalRequestServiceImpl实现ApprovalRequestService{

您好,有意思,可能是autoscan问题?谢谢您的回答。当我尝试将
@Service
注释移动到实现时,我在实现中遇到编译错误,我有
@Autowired ApprovalRequestDAO ApprovalRequestDAO;
-
无法自动连线。没有'ApprovalRequestDAO'类型的beannd.
ApprovalRequestDAO类是否需要一个注释来定义它是什么?我已经尝试将
@Bean
添加到
ApprovalRequestDAO
中,但它得到了以下错误:
“@Bean”不适用于类型
嗨,Simon,我让它工作起来了,谢谢。我需要对实现进行注释,我.e.通过将
@Repository
添加到DAO。因此您的答案是正确的,
@Service
注释需要在实现上,而不是在接口上。