1
我正在关注this WildFly Java EE教程。为什么构造实例<Integer>而不是int
我对下面的代码问题:
@Inject
@MaxNumber
private int maxNumber;
@Inject
@Random
Instance<Integer> randomNumber;
为什么在maxNumber
情况下int
注入,并在randomNumber
情况下Instance<Integer>
?
我已经使用int randomNumber
测试了代码,它似乎工作。
你能解释一下你的意思是这个值是依赖于部署时间吗?我读了javadoc,但那一部分我不明白。 –
这是不准确的。如果object(type)来自不是CDI的包(不包含'bean.xml'),那么我将不会触发bean发现过程。所以你需要'Producer'来创建对象(条件2 - 不能在开始时确定bean)。另外,因为它在运行时是不同的(它是随机的),所以它需要是“实例”。 –