@autowired和@resource区别
时间: 2023-09-22 14:13:42 浏览: 99
在Spring框架中,@Autowired和@Resource都是用来进行依赖注入的注解,但它们的实现方式略有不同。
1. @Autowired
@Autowired是Spring框架自带的注解,它可以自动装配一个bean,并且可以根据类型进行匹配。如果有多个匹配的bean,则可以使用@Qualifier注解指定具体要注入的bean。
@Autowired可以用在字段、构造方法、Setter方法上,也可以用在方法参数上。
2. @Resource
@Resource是Java EE 5规范中定义的注解,它可以自动装配一个bean,并且可以根据名称进行匹配。如果有多个匹配的bean,则可以使用@Resource(name="beanName")指定具体要注入的bean。
@Resource只能用在字段和Setter方法上,不能用在构造方法和方法参数上。
3. 区别
- @Autowired是Spring框架自带的注解,而@Resource是Java EE 5规范中定义的注解。
- @Autowired可以根据类型进行匹配,而@Resource只能根据名称进行匹配。
- @Autowired可以用在字段、构造方法、Setter方法和方法参数上,而@Resource只能用在字段和Setter方法上。
- @Autowired可以不用指定名称,如果有多个匹配的bean,则可以使用@Qualifier注解指定具体要注入的bean。而@Resource必须要指定名称,如果有多个匹配的bean,则必须使用@Resource(name="beanName")指定具体要注入的bean。
- @Autowired是Spring框架的核心注解,通常优先使用。而@Resource是Java EE 5规范中定义的注解,通常用于与其他Java EE 5技术进行整合。
阅读全文