@Autowired和@Resource两个注解有什么区别呢?

欣喜 Spring 发布时间:2023-12-18 17:00:29 阅读数:5559 1
下文笔者讲述@Autowired和@Resource注解的区别说明,如下所示

@Autowired和@Resource注解的简介

@Autowired和@Resource注解都使用在:
     构造函数、Setter方法、成员变量上
     都可用于装配Bean

@Autowired和@Resource区别

@Autowired:
    默认按类型装配(此注解是Spring定义的注解)
 @Resource:
    JDK1.6支持的注解
    默认按照名称进行装配

@Autowired:
     默认情况下必须要求依赖对象必须存在
        如果允许null值
       可以设置它的required属性为false
   如:
      @Autowired(required=false)
      当我们想使用名称装配可以结合@Qualifier注解进行使用
@Autowired
@Qualifier("baseDao")
private BaseDao baseDao;
Resource名称使用name属性进行指定
     如果没有指定name属性
        当注解写在字段上时
          默认取字段名
     按照名称查找
        如果注解写在setter方法上默认取属性名进行装配
        当找不到与名称匹配的bean时才按照类型进行装配
            但是需要注意的是
        如果name属性一旦指定
            就只会按照名称进行装配

@Resource(name="baseDao")
private BaseDao baseDao;
其实@Autowired + @Qualifier("BWM") == @Resource(name="BWM")
    当一个接口只有一个实现类 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Spring/202312/7488.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者