spring 中autowired resource的区别
时间: 2023-09-22 16:10:02 浏览: 69
Spring框架中 @Autowired 和 @Resource 注解的区别
5星 · 资源好评率100%
在 Spring 中,@Autowired 和 @Resource 都用于依赖注入,但它们有以下几个区别:
1. 来源不同:@Autowired 是 Spring 提供的注解,而 @Resource 是 Java EE 提供的注解。
2. 自动装配的方式不同:@Autowired 默认使用 byType 的方式进行自动装配,如果有多个同类型的 Bean,则需要使用 @Qualifier 指定具体的 Bean 名称。而 @Resource 默认使用 byName 的方式进行自动装配,需要指定具体的 Bean 名称。
3. 支持的类型不同:@Autowired 支持所有 Spring 所管理的 Bean 类型,而 @Resource 不支持集合类型的注入。
4. 作用范围不同:@Autowired 只能用于字段、构造方法、setter 方法和方法参数上,而 @Resource 可以用于字段、setter 方法和方法参数上。
总的来说,@Autowired 更加灵活,而 @Resource 更加规范化,需要根据具体的需求选择使用哪种注解。
阅读全文