@Autowired、@Resource、@Inject三个注解的区别

三个注解都是用于属性的自动装配

@Autowired注解是spirng的自动装配属性的注解

1、可以结合spirng的@Qualifier、@Primary注解使用,功能很强大

2、@Autowired注解可以指定required属性,以指定该属性是否必须

@Resource注解是javax JSR250规范之一

1、@Resource中的name属性可以指定装配的属性的id

2、不支持spring的@Primary注解

3、没有像@Autowired注解一样,指定required属性

@Inject注解是javax JSR330规范之一(JSR330是Jcp给出的官方标准反向依赖注入规范。Java大部分反向依赖注入的工具或者框架目前基本上都满足JSR330规范、例如spring、guice以及Dagger。)

使用@Inject注解首先需要导入依赖

        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>

1、@Inject注解中不能指定任何属性,包括required

2、@Inject注解可以支持spirng的注解,可以和spring的注解联合使用,如:@Primary、@Qualifier

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值