我知道以上是规范要求,但想了解原因?如果允许类中的多个构造函数具有@Inject批注,那么问题是什么。我说的是JSR 330.
P.S:我知道CDI规范(即JSR 299)利用了JSR 330的@Inject。所以我也在问题中添加了这个标签。如果它不适用于CDI,请随意删除。答案 0 :(得分:2)
如果多个构造函数使用@Inject
进行注释,则容器将决定使用哪个构造函数来实例化该类型。
你会选择哪个
@Inject
public Foo (Bar bar) {}
或
@Inject
public Foo (Zoom zoom) {}
如果Bar
和Zoom
之间完全没有关系。