【发布时间】:2011-07-23 17:06:22
【问题描述】:
我有一个手动初始化的对象(旧代码)。 我想将此对象放到应用程序上下文中,以使其通过 CDI 可用。
如何在不编写 CDI 扩展的情况下做到这一点?
【问题讨论】:
标签: cdi
我有一个手动初始化的对象(旧代码)。 我想将此对象放到应用程序上下文中,以使其通过 CDI 可用。
如何在不编写 CDI 扩展的情况下做到这一点?
【问题讨论】:
标签: cdi
使用生产者。制作一个 @Produces 类实例的 bean。
【讨论】:
@Injects 的同一个bean 中拥有@Produces 方法是个好主意吗?我可以在不创建循环依赖的情况下以某种方式延迟初始化以实现此目的吗?有 Instance<...> 但我必须再创建一个字段来保留实际的 bean...
this.foo = new Foo(this)?
你需要这样的东西吗?
@ApplicationScoped
public class ApplicationScopedClass {
@Produces
public static ApplicationScopedClass makeAnInstance() {
return new ApplicationScopedClass();
}
}
【讨论】: