Java @Autowired 报错?用 @Qualifier 或 @Resource 解决!
在使用 Java 的 @Autowired 注解进行依赖注入时,有时会遇到黄色警告提示。这可能是因为 @Autowired 自动匹配多个 Bean,无法确定具体要注入哪个。
为了解决这个问题,可以使用以下两种方法:
1. 使用 @Qualifier 注解
@Qualifier 注解可以指定具体的依赖注入对象,避免自动匹配带来的问题。
例如:
@Autowired
@Qualifier('userService')
private UserService userService;
其中,@Qualifier('userService') 指定了要注入的对象是名为 'userService' 的 Bean。
需要注意的是,如果同一个接口有多个实现类,必须使用 @Qualifier 注解来指定具体的实现类,否则会报错。
2. 使用 @Resource 注解
@Resource 注解的功能类似于 @Autowired,但更加灵活。可以指定注入对象的名称和类型等信息。
例如:
@Resource(name = 'userService')
private UserService userService;
通过以上两种方法,可以有效解决 @Autowired 注解带来的黄色警告问题,并确保依赖注入的正确性和明确性。
原文地址: http://www.cveoy.top/t/topic/lOeF 著作权归作者所有。请勿转载和采集!