@Autowired和@Resource之间的异同?
时间: 2023-11-14 20:40:26 浏览: 75
@Autowired 和 @Resource 都是用于进行依赖注入的注解,但是它们有一些异同点:
1. @Autowired 是 Spring 提供的注解,而 @Resource 是 Java 提供的注解,需要导入 javax.annotation.Resource 包。
2. @Autowired 默认是按类型注入,如果有多个同类型的 bean,则需要配合 @Qualifier 注解一起使用,指定具体的 bean 名称。而 @Resource 默认是按名称注入,可以通过 name 属性指定具体的 bean 名称。
3. @Autowired 可以用在构造器、setter 方法、字段上。而 @Resource 只能用在字段上。
4. @Autowired 可以处理非 Spring 管理的类,而 @Resource 只能处理 Spring 管理的类。
总的来说,@Autowired 更加灵活,功能更强大,但是需要注意的是,@Autowired 是 Spring 的专有注解,而 @Resource 是 Java 的注解,所以如果需要保持代码的通用性,最好使用 @Resource 注解。
阅读全文