为什么使用 @Resource没问题,使用@Autowired就会报错Could not autowire. No beans of 'WIFIInfo' type found
时间: 2024-05-15 11:12:26 浏览: 13
`@Resource` 和 `@Autowired` 都是用来进行依赖注入的注解,但是它们的实现方式不同。
`@Resource` 是 JavaEE 提供的注解,它默认按照属性名称进行匹配注入,如果找不到匹配的 bean,则会抛出异常。而 `@Autowired` 是 Spring 提供的注解,它默认按照类型进行匹配注入,如果找不到匹配的 bean,则会抛出异常。
根据你的错误提示,可以看出 Spring 没有找到 `WIFIInfo` 类型的 bean。这可能是因为 `@Autowired` 默认按照类型进行匹配注入,但是你的项目中没有定义类型为 `WIFIInfo` 的 bean,所以会抛出异常。
你可以尝试使用 `@Resource` 注解来进行注入,或者在项目中定义一个类型为 `WIFIInfo` 的 bean 来解决这个问题。如果你想继续使用 `@Autowired` 注解,可以尝试使用 `@Qualifier` 注解来指定需要注入的 bean 的名称。例如:
```
@Autowired
@Qualifier("wifiInfo")
private WIFIInfo wifiInfo;
```
这样 Spring 就会按照名称为 `wifiInfo` 的 bean 进行注入。
相关问题
@Autowired private WxMaService wxMaService;报错Could not autowire. No beans of 'WxMaService' type found
这个错误通常表示 Spring 找不到 `WxMaService` 类型的 Bean。可能原因有:
1. 没有在 Spring 的配置文件或类上添加 `@Service` 或 `@Component` 注解来声明 `WxMaService` 类型的 Bean。
2. `WxMaService` 类型的 Bean 没有被正确扫描到。可以检查一下扫描的包是否包含了 `WxMaService` 类所在的包。
3. `WxMaService` 类型的 Bean 没有被正确初始化。可以检查一下 `WxMaService` 类型的 Bean 是否有无参构造函数,并且构造函数中的依赖是否被正确注入。
你可以检查一下这些问题,看看是哪个问题导致了这个错误。如果还有问题,可以提供更多的代码和配置信息,我可以帮你进一步排查。
@Autowired报错误Could not autowire. No beans of 'CertfInfoMapper' type found.,改成@Resource就不报错了
`@Autowired` 和 `@Resource` 都是 Spring 中用于注入 Bean 的注解,但两者的实现方式略有不同。
其中,`@Autowired` 是 Spring 自带的注解,它可以自动装配 Bean,但是需要注意的是,如果存在多个相同类型的 Bean,它会按照一定的规则进行选择。如果规则不明确或者无法选择到正确的 Bean,就会报错 `No beans of 'CertfInfoMapper' type found`。
而 `@Resource` 是 Java EE 标准中定义的注解,它也可以注入 Bean,但是相对于 `@Autowired`,它更加明确、精准。`@Resource` 注解可以通过指定 Bean 的名称或类型来确定注入哪个 Bean,从而避免了多个相同类型 Bean 导致的冲突问题。
因此,如果你在使用 `@Autowired` 注解时出现了 `No beans of 'CertfInfoMapper' type found` 错误,可以尝试改成 `@Resource` 注解,并指定要注入的 Bean 的名称或类型。例如:
```java
@Resource(name = "certfInfoMapper")
private CertfInfoMapper certfInfoMapper;
```
或者:
```java
@Resource
private CertfInfoMapper certfInfoMapper;
```
如果你使用 `@Resource` 注解仍然无法解决问题,可以检查一下你的代码中是否存在重复的 Bean 定义,或者提供更多的代码和错误信息,以便进行更深入的分析。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)