为什么要构造Instance <integer>而不是int </integer>

时间:2014-12-22 13:35:23

标签: java-ee wildfly

我正在关注this WildFly Java EE教程。

我对以下代码有疑问:

@Inject
@MaxNumber
private int maxNumber;

@Inject
@Random
Instance<Integer> randomNumber;

为什么在maxNumber案例中int注入了randomNumber,在Instance<Integer>案例中注明了int randomNumber

我已使用{{1}}测试了代码,但它似乎有效。

1 个答案:

答案 0 :(得分:0)

基于Instance javadoc

  

在某些情况下,注射不是最方便的方法   获取上下文参考。例如,在以下情况下可能不会使用它:

     
      
  • bean类型或限定符在运行时动态变化,或
  •   
  • 取决于部署,可能没有满足类型的bean   限定词,或
  •   
  • 我们想迭代某种类型的所有bean。
  •   

因此,如果bean被标记为@Random,那么值是部署时间依赖的,应该由Instance包装。 Instance是通用的,因此它需要对象类型Integer而非原始int