1
私のプロジェクトでは、インターフェイスの具体的な実装を列挙した設定ファイルがあります。Guiceファイルから読み取られたクラス名に基づいてインスタンスを提供する
Guiceモジュールを設定して、インターフェイスが注入されるたびにタイプから具体的なクラスのインスタンスを取得できるようにするにはどうすればよいですか?
interface A{}
class AImpl implements A{ @Inject public A(.....)}
class B {
@Inject
public B(A a) {}
}
class MyModule extends AbstractModule {
...
@Provides
public A getA(@ConfiguredClass String classname) {
Class<A> aClass = (Class<A>) Class.forName(classname);
// ???
// this needs to be instantiated by Guice to fulfill AImpl's dependencies
return aClass.newInstance();
}
}
config:
class: my.package.AImpl
+1を:と関連があります質問:http://stackoverflow.com/questions/765680/why-theres-no-configuration-file-at-all-for-dependency-injection-with-google-gu –