Spring注解 @Resource和@Autowired比较
先看源码注释
/**Autowired
* Marks a constructor, field, setter method or config method as to be
* autowired by Spring's dependency injection facilities. */
/**Resource
* The Resource annotation marks a resource that is needed
* by the application. This annotation may be applied to an
* application component class, or to fields or methods of the
* component class. */
1.相同:
都可以标记fields、method
都用来注入bean
2.不同
Autowired:
1)由spring提供,需要import org.springframework.beans.factory.annotation.Autowired
2)依据bean类型匹配注入
3)具有required属性,默认required=true,这样必须有且仅有一个该类型的bean对象.如果设置required=false,则该类型bean对象可以为null
4)如果想使用名称来装配,可以结合@Qualifier注解一起使用。如:@Qualifier("xxx")
Resource :
1)由java提供,需要import javax.annotation.Resource
2)默认依据bean 名称匹配注入
3)具有name、type重要属性,使用方法如下:
如果同时指定name和type属性,这样必须有且仅有一个该名称、该类型的bean对象,否则抛出异常。
如果只指定name(@Resource(name="xxx"))属性,则必须有一个id="xxx"的bean,否则抛出异常。
如果只指定了type属性,这样必须有且仅有一个该类型的bean对象,否则抛出异常。
如果name、type属性都没有指定,则spring会按照name=field值查找bean;如果没有找到,则按类型进行查找;如果没有找到,抛出异常
4)另外还有authenticationType、shareable、mappedName、description属性,用的比较少,这里不详细讲解。
- Spring注解 @Resource和@Autowired比较
- spring注解( @Autowired、@Qualifier、@Resource、@PostConstruct、@PreDestroy、 @Component、@Scope)-描述的比较清楚
- spring注解( @Autowired、@Qualifier、@Resource、@PostConstruct、@PreDestroy、 @Component、@Scope)-描述的比较清楚
- spring 中注解@Autowired,@Required,@Resource
- spring注解@Autowired、@Resource、@Inject
- Spring @Resource、@Autowired、@Qualifier的注解注入及区别
- Spring中 @Autowired注解与@Resource注解的区别
- Spring注解@Component、@Repository、@Service、@Controller @Resource、@Autowired、@Qualifier 解析[转]
- Spring注解@Resource和@Autowired区别对比
- Spring中@Autowired注解、@Resource注解的区别
- Spring中@Autowired注解、J2EE @Resource注解的区别
- Spring @Autowired,@Resource,@Required注解的用法和作用
- Spring注解 @Resource和@Autowired的区别
- Java中@Resource注解和@Autowired注解(spring中的@Autowired)
- Autowired 区别 Resource Spring中 @Autowired注解与@Resource注解的区别
- spring:@Autowired注解、@Resource注解和@Service注解
- Spring中@Resource、@Autowired、@Qualifier的注解注入及区别
- Spring中注解的实现原理-Autowired和Resource的区别
- spring注解 @Autowired @Qualifier @Resource
- [转]Spring中@Autowired注解、@Resource注解的区别