@Inject 注解

@Inject 是 JSR-330 规范中定义的注解,使用时需要额外导入 javax.inject 依赖。以下三种类成员,可用。

1. 构造方法

注入的参数数量是0个或多个。

因为JRE无法决定构造方法注入的优先级,所以规范中规定类中只能有一个构造方法带@Inject注解。

2.方法

运行时可注入的参数数量为0个或多个。但使用参数注入的方法不能声明为抽象方法也不能声明其自身的类型参数。

set方法前使用@Inject,是注入可选属性的常用技术。

@Inject
public void setManager(Manager manager)
{
    this.manager= manager;
}

向方法中注入参数的技术对于服务类方法来说非常有用,其所需的资源可以作为参数注入,比如向查询数据的服务方法中注入数据访问对象(Dao)。

3.属性

在属性上面注入时,无须为该属性添加setter方法。不可以是final。这样简单直接,单元测试时候,比较麻烦。

以上是需要注入依赖项,也是运行时候的顺序。

 另:

@Inject与@AutoWired一致,区别在于@Inject没有required属性

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值