为什么使用 @Resource没问题,使用@Autowired就会报错Could not autowire. No beans of 'WIFIInfo' type found
时间: 2024-05-15 12:12:26 浏览: 284
spring annotation 注释 配置
`@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 进行注入。
阅读全文