guice で次のことをどのように行いますか?
XmlSerializer
インターフェイスに依存するクラスがありますXmlFormatter
。と の 2 つの実装がありXmlFormatter
ます。CompactXmlFormatter
PrettyXmlFormatter
別のクラスMyApplication
は の 2 つのインスタンスに依存しますXmlSerializer
。1 つのインスタンスを で構成し、もう 1 つのインスタンスを構成する必要がありますCompactXmlFormatter
。PrettyXmlFormatter
public class XmlSerializer {
public XmlSerializer(XmlFormatter formatter) {
...
}
}
public interface XmlFormatter {
...
}
public class CompactXmlFormatter implements XmlFormatter {
...
}
public class PrettyXmlFormatter implements XmlFormatter {
...
}
public class MyApplication {
public MyApplication(XmlSerializer compactSerializer, XmlSerializer prettySerializer) {
...
}
}
このようなグラフをどのように作成しますか?
2 つのインスタンスを取得したら、XmlSerializer
それらを注入するには、コンストラクターMyApplication
のパラメーターに注釈が必要であることを知っています。MyApplication
XmlFormatter
との両方にどのようにバインドするのかにもっと興味がありCompactXmlFormatter
ますPrettyXmlFormatter
。