1
我有兩個活動吉斯實例不同類別與不同的供應商
public class GetActivity
{
ChildClass childclass;
@Inject
public GetActivity(ChildClass childClass)
{
this.childClass = childclass;
}
String id = childClass.get(id);
....
}
public class SaveActivity
{
ChildClass childclass;
@Inject
public SaveActivity(ChildClass childClass)
{
this.childClass = childclass;
}
childClass.save(id);
....
}
ChildClass是使用以下方法
public interface ChildClass
{
String get(id);
void save(id);
}
和接口其作爲下列
public class ChildClassImpl implements ChildClass
{
String storage;
public ChildClassImpl(String storage)
{
this.storage =storage;
}
String get(Id)
{
someOtherObject.get(id, storage);
}
void save(id)
{
someOtherObject.save(id, storage);
}
}
我實現寫提供商將返回ChildClass方法
public class ChildClassProvider1 implements Provider<ChildClass>
{
@Override
public ChildClass get()
{
ChildClass childClass = new ChildClass("hello");
}
}
public class ChildClassProvider2 implements Provider<ChildClass>
{
@Override
public ChildClass get()
{
ChildClass childClass = new ChildClass("secondHello");
}
}
我想確保GetActivity和SaveActivity與提供程序ChildClassProvider1初始化,但其他類應使用ChildClassProvider2。如何用guice實現這一點?
我不明白你的第一個方法,你詳細說明一下。 – Schumi
https://github.com/google/guice/wiki/ProvidesMethods –