深入分析@Resource和@Autowired注解区别.docxVIP

  • 4
  • 0
  • 约5.01千字
  • 约 8页
  • 2025-06-03 发布于四川
  • 举报

深入分析@Resource和@Autowired注解区别

目录引言1、用法层面分析2、概念层面分析3、源码层面分析

引言

@Resource和@Autowired都是SpringFramework中用于依赖注入的注解,但它们有几点不同:

来源不同:@Resource注解来自于J2EE规范中;而@Autowired注解是Spring框架提供的。

搜索策略不同:@Resource注解默认按照名称进行匹配查找,如果找不到,则按照类型进行匹配。而@Autowired注解默认是按照类型进行匹配,如果出现多个类型一致的实例对象,则需要指定名称。

属性不同:@Resource注解没有属性名称,只有一个name属性,表示要注入的Bean名称。而@Autowired注解有两个重要属性:required和name,其中required属性表示是否必须注入该属性,默认为true;name属性表示要注入的Bean名称。

1、用法层面分析

首先,我们创建一个接口UserService和两个实现类UserServiceImpl1和UserServiceImpl2。

publicinterfaceUserService{

voidsave();

@Service

publicclassUserServiceImpl1implem

文档评论(0)

1亿VIP精品文档

相关文档