猿问

出现错误 - 没有符合条件的 bean 类型

我有一个名为IJobService


@Service

public interface IJobService {

    List<SearchTupleModel> getTuplesFromJobService(List<String> jobIds);

}

我有一个JobService实现这个的类:


@Service

public class JobService implements IJobService {

}

在控制器中,我只是将此接口自动装配为:


public class JobSearchResource {

    @Autowired

    IJobService iJobService;

}

但我收到错误:


没有可用类型的合格 bean e:预计至少有 1 个 bean 有资格作为自动装配候选者。


天涯尽头无女友
浏览 185回答 4
4回答

杨__羊羊

从接口 IJobService 中删除 @Service 注释。public interface JobService {&nbsp; &nbsp; List<SearchTupleModel> getTuplesFromJobService(List<String> jobIds);}@Servicepublic class JobServiceImpl implements JobService {}并将@Controller 添加到您的控制器@Controllerpublic class JobSearchResource {&nbsp; &nbsp;@Autowired&nbsp; &nbsp;JobService jobService;}

慕斯王

包含 main 方法的项目Application.java(或其他名称)文件应位于根目录中,如给定参考中所示:Application.java 文件应该包含注解@SpringBootApplication ,如果它们被注解为@Service、@Controller、@Configuration等,它将自动扫描所有文件并为它们创建bean ...或者,如果您想将 Application.java 文件保留在其他包中,则必须在组件扫描注释中明确提及根目录,如下所示:@SpringBootApplication@ComponentScan(basePackages = {"com.starterkit.springboot.brs"})public class Application {&nbsp; &nbsp; public static void main(String[] args) {&nbsp; &nbsp; &nbsp; &nbsp; SpringApplication.run(Application.class, args);&nbsp; &nbsp; }}

神不在的星期二

您可以删除接口 IJobService 上方的@Service吗?@Service 表示下面的代码是注入的候选者。由于 IJobService 和 JobService 都有@Service,它会产生 2 个选择,因此 spring 不知道使用哪一个。

翻翻过去那场雪

预计至少有 1 个符合自动装配候选条件的 bean。这个类配置一个spring bean@Configurationpublic class IJobServiceConfig {&nbsp; &nbsp;@Bean&nbsp;&nbsp; &nbsp;public IJobService iJobService (){&nbsp; &nbsp; &nbsp; &nbsp;return new IJobService ();&nbsp; &nbsp;}}还添加@Controller控制器类
随时随地看视频慕课网APP

相关分类

Java
我要回答