一、问题陈述

Could not autowire. No beans of 'xxx' type found.

一般这种状况会在 controller 层 调用 service 层的 interface 接口 时出现这种问题

一般展示样子是这样的:

二、解决问题

service 层的 interface 接口 中,给这个接口 添加注解 @Repository

三、拓展

@Repository 是 Spring 框架中最基本的注解之一,它用于将一个类标记为 Spring 容器中的一个组件。通常情况下,@Repository 注解用于标注那些不方便归类的类,比如工具类、常量类等。通过将这些类标记为组件,Spring 容器会自动扫描这些类,并将它们实例化并加入到容器中,从而方便在其他地方进行依赖注入。

除了 @Repository 注解外,Spring 还提供了许多其他的注解,如 @Service@Component@Controller@RestController 等,它们都是 @Component 注解的派生注解,用于表示不同类型的组件。这些注解的作用和用法与 @Repository 注解基本相同,只是在语义上有所区别,更加符合不同类型的组件的特点。

需要注意的是,@Repository 注解只是一个标记注解,它本身并不提供任何功能。如果需要将一个类标记为组件,并让 Spring 容器自动扫描并实例化它,还需要在配置类中使用 @ComponentScan 注解来指定要扫描的包路径。