gpt4 book ai didi

Java EE CDI - 每次调用方法时获取类的新实例

转载 作者:行者123 更新时间:2023-12-02 10:20:32 25 4
gpt4 key购买 nike

我希望对 Java J2EE 应用程序进行一些重构,但我不清楚如何让 CDI 提供所需的依赖项:

当前的设置非常简单/易于理解:

@ApplicationScoped
public class MyApplication {


@Inject
@Named("Default")
private Dependency dependency;

public void dostuff(){
dependency.process();
}

}

现在,每次调用 dostuff 时,我都需要一个新的 dependency 实例。

我不清楚如何使用 CDI 为我创建这个。我的依赖项有自己的依赖项,我希望 CDI 为我创建这些依赖项。

我希望我需要添加一个间接层。

其他上下文:此类是轮询要完成的工作的流程的一部分,并托管在 Wildfly 中。我们没有在项目中使用Spring。

最佳答案

因为您想要的是 Dependency 的新实例,每次调用该方法时,我认为您需要的是 Provider 的实例即 ( javax.inject.Provider<T> ) 注入(inject)到你的类中/bean .

将提供程序注入(inject)到您当前的类中:

@Inject Provider<DesiredBean> provider;

然后,在你的方法中 doStuff()获取新实例:

DesiredBean desiredBean = provider.get();

这应该能让你继续前进。

关于Java EE CDI - 每次调用方法时获取类的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54372167/

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