gpt4 book ai didi

parameter-passing - 使用 Google Guice 注入(inject)构造函数参数值

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

我有一个简单的要求-

这是我要注入(inject) CalledService 对象的服务。

public class CallingService {

private CalledService service;

@Inject
public CallingService(CalledService svc) {
service = svc;
}
}

CalledService 看起来像这样 -

public class CalledService {

private String variable_value;

public CalledService(String parameter) {
variable_value = parameter;
}

}

假设在 psvm 中,我正在编写这段代码来执行 -

Injector injector = Guice.createInjector(new AppInjector());        
CallingService service = injector.getInstance(CallingService.class);

问题是,如果 CalledService 有一个非参数化的构造函数,那么它就可以正常工作。但由于它是参数化的,我不知道如何注入(inject)参数值。

此外,其他几个服务可能希望用不同的参数值注入(inject) CalledService。所以我不想将任何静态值绑定(bind)到参数。

谁能建议使用 Google Guice 实现这一目标的最简单方法?另外,我在这个论坛上找到了很多答案,但它们并不是我想要的,而且有些解决方案过于复杂。提前致谢。

最佳答案

除了上面评论中的建议 - assisted inject您可以在 Guice 中绑定(bind)实例。请看here有关详细信息/示例

希望对你有帮助

关于parameter-passing - 使用 Google Guice 注入(inject)构造函数参数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42432868/

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