栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring基于注解的配置:@Autowired和@Resource全面辨析+例子

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring基于注解的配置:@Autowired和@Resource全面辨析+例子

注入Bean的注解

@Autowired:Spring提供的注解。@Resource:JSR-250提供的注解。(属于J2EE) 辨析

1、@Autowired这个注解属于Spring,默认按照类型配置。默认情况下要求依赖对象必须存在,如果允许为null值,可以给它的required属性为false值,这个和@Nullable这个注解比较类似。
一般都是结合@Qualifier注解一起使用‍♀️

    @Autowired
    @Qualifier(value = "dog2")
    private Dog dog;
    @Autowired(required=false)
    private Cat cat;

@Autowried先通过bytype,如果发现相同类型的cat/dog(无所谓,总之就是有一样的类型),然后通过byName,发现了id=cat/dog,装配成功,如果没有id=cat,失败,然后再通过qualifier来指定

2、@Resource这个注解属于J2EE,默认按照名称进行装配,名称通过name属性进行指定。如果没有指定name属性,那么默认就按照取字段名进行查找。如果说注解写在setter方法上,那么就默认按照属性名进行装配噢。当找不到与名称匹配的Bean时才按照类型进行匹配。如果name属性一旦指定,那么就只会按照name里面的名称进行装配!

@Resource(name = "xxx")
private Cat xxx;
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/721573.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号