gpt4 book ai didi

cdi - 如果我的对象是由生产者方法生成的,它的初始化方法会被自动调用吗?

转载 作者:行者123 更新时间:2023-12-04 05:44:03 24 4
gpt4 key购买 nike

我有一个生产者方法,它创建实例——比方说——Person .

此方法创建的实例类型为 PersonBean很明显实现了Person .

这个类中有一个初始化方法:

@Inject
public void setSomething(final Something something) {
// whatever
}

还有一个 Something bean 存档中的类路径上的实现,它应该是此处注入(inject)的候选对象。

我观察到这个实现被注入(inject)到另一个非生产者方法产生的对象的适当注释字段中,所以我知道 Weld 正在找到它,它是有效的,等等。

规范不清楚(对我来说)我的生产者方法的返回值是否也会应用焊接/容器提供的依赖注入(inject)。

我当然注意到这个初始化方法不会自动调用。

归结起来,我的问题是:如果我正在生成一个对象,那么这是否意味着我的生产者方法必须处理该对象的所有初始化,或者(我所期望的)我的生产者方法只负责实例化?

最佳答案

if I am producing an object, then does that mean my producer method must take care of all initialization of that object, or (what I'd expect instead) is my producer method only responsible for instantiation?



From the spec:
3.3. Producer methods
A producer method acts as a source of objects to be injected, where:
- the objects to be injected are not required to be instances of beans,

这应该回答您的问题:如果您正在实例化 一个新对象 (使用 new )您必须注意初始化。

(生产者方法的一个可能更常见的用例是配置和生产 现有 bean 到某个范围...)

关于cdi - 如果我的对象是由生产者方法生成的,它的初始化方法会被自动调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10920455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com