如何通过将对象作为参数传递来实例化CDI bean,就像我从参数化构造函数中实例化普通Java中的新对象一样?

时间:2015-03-13 08:35:56

标签: java cdi

在简单的Java中,我们可以通过将另一个对象作为参数传递给它的参数化构造函数来构造一个对象。简单的CDI方式是什么?

1 个答案:

答案 0 :(得分:1)

CDI规范提供了几种实例化bean的机制。与Java构造函数最接近的机制称为容器调用的bean constructor实例化bean类。 bean构造函数可以有任意数量的参数,即注入点,并由injection using the bean constructor中记录的容器注入,例如:

public class FooBean {

    @Inject
    public FooBean(BarBean bar) {
    }
}

除了 bean构造函数机制之外,CDI规范还提供了实例化/参数化bean实例的其他方法,如injection of fields and initializer methods中所述,它们是:

Producer method机制也可以按照invocation of producer or disposer methods中的说明使用。