我有一个名为client的课程。
@requiredconstructorargs
Class client {
Invoker invoker;
String URL:
}
现在我想要的是拥有两个不同url的客户端实例。
基本的guice实例是
Client client(invoker){
Return new client(invoker,hardcodedufl)
}
祈求者是另一种注射剂。
我想要另一个具有不同网址的实例。
我试过@named
和bind(client.class).annotatedwith(Names.named("some value")).toinstance(client1(??))
但无法通过调用者。
有人可以帮忙吗??
答案 0 :(得分:1)
这个怎么样:
在模块类中创建此方法
@Named("primaryClient")
@Provides
public Client primaryClient(Invoker invoker) {
return new Client(invoker, "hard coded url");
}
然后您可以像这样注入您的客户端:
public void someMethod(@Named("primaryClient") Client client)
答案 1 :(得分:0)
我创建了一个客户列表。
列表listOfClient(invoker){
客户端client1 =新客户端(调用者,URL1);
客户端client2 =新客户端(调用者,URL2);
返回Arrays.asList(client1,client2);
}
并在需要的地方引用该列表。