gpt4 book ai didi

java - 在 Guice 中向所有提供者请求绑定(bind)接口(interface)

转载 作者:行者123 更新时间:2023-12-01 05:15:14 25 4
gpt4 key购买 nike

我正在尝试测试我的模块是否正确实例化了多次绑定(bind)的接口(interface)的所有提供程序。为了在我的模块中进行绑定(bind),我在 Google Guice v3 中使用了 Multibinder。

我找不到返回特定接口(interface)/类的所有(多个)提供程序的方法。使用 getProvider() 仅返回一个 Provider。

有人有一个优雅的解决方案来解决这个问题吗?

最佳答案

一种选择是迭代来自注入(inject)器的所有绑定(bind)并检查那些与您期望的接口(interface)匹配的绑定(bind)。

@Inject void checkBindings(Injector injector){
for(Binding<?> rawbinding : injector.getBindings().values()){
if (rawbinding instanceof BindingImpl){
BindingImpl<?> binding = (BindingImpl<?>)rawbinding;
if (binding.getKey().getTypeLiteral().getRawType() == MyInterface.class){
...

关于java - 在 Guice 中向所有提供者请求绑定(bind)接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11345291/

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