@autowired和@resource区别
时间: 2023-09-26 10:12:42 浏览: 37
@Autowire 和 @Resource 都是用于实现依赖注入的注解,但是它们有以下不同点:
1. 来源不同:@Autowire 是Spring框架提供的注解,而 @Resource 是Java EE提供的注解。
2. 自动装配方式不同:@Autowire 是根据类型进行自动装配,如果有多个类型相同的bean,则根据名称进行匹配;而 @Resource 是根据名称进行自动装配,如果指定了名称,则根据名称进行匹配,否则根据类型进行匹配。
3. 支持的属性不同:@Autowire 只支持 byType 和 byName 两种装配方式;而 @Resource 支持 name 和 type 两种装配方式。
4. 使用场景不同:@Autowire 主要用于 Spring 框架中,@Resource 主要用于 Java EE 框架中。如果只是使用 Spring 框架,建议使用 @Autowire 注解,因为它是 Spring 框架原生支持的注解。如果同时使用了 Spring 框架和 Java EE 框架,建议使用 @Resource 注解,因为它是 Java EE 标准的注解。
相关问题
@Autowired和@Resource区别
@Autowired和@Resource都是用来进行依赖注入的注解,但是它们有一些区别。
@Autowired是Spring提供的注解,它默认按照类型进行自动装配,如果有多个同类型的bean,则会按照属性名进行匹配。如果找不到匹配的bean,则会抛出异常。@Autowired还有一个required属性,默认为true,表示必须要找到匹配的bean,否则会抛出异常。如果将required设置为false,则表示可以不找到匹配的bean。
@Resource是JavaEE提供的注解,它默认按照名称进行自动装配,如果没有指定name属性,则会按照属性名进行匹配。如果找不到匹配的bean,则会抛出异常。@Resource还有一个type属性,可以指定要注入的bean的类型。
因此,@Autowired更加灵活,而@Resource更加严格。
@Autowired 和 @Resource 区别
@Autowired和@Resource都是用来进行依赖注入的注解,区别在于@Autowired是Spring中的注解,而@Resource是Java EE中的注解。@Autowired默认按照类型进行装配,通过byName属性指定具体名称进行装配;@Resource默认按照名称进行装配,可以指定name和type属性进行装配。