2012-01-25 10 views
1

guiceでいくつかのモジュールを書いた。これらは素晴らしい作品です。 私は、私がこれらのモジュールに注入したい私のモジュールに必要なシングルトンまたはロガーを持っています。guiceモジュールでシングルトンを注入する

たとえば、自分の設定が必要なJpaModuleがあります。

ConfigurationModule:

@Singleton 
public class ConfigurationModule extends AbstractModule { 

    @Override 
    protected void configure() { 
    bind(Configuration.class).toProvider(ConfigurationProvider.class).in(Singleton.class); 
    } 
} 

JpaModule:Guiceのに

public class JpaDaoModule extends AbstractModule { 

    @Inject 
    Configuration config; 

    @Override 
    protected void configure() { 
    // ... Read config and do something 
    } 
} 

コール:

Guice.createInjector(new ConfigurationModule(), new JpaDaoModule()); 

どのように交流することができますこれをコンパイルする?または、どうやってJpaModuleにコンフィギュレーションを提供することができますか?

/種類はこれが不可能であるクリスチャン

答えて

1

について。 configure()メソッドでは、バインディングを設定します。あなたはそれらがすでに利用可能であるとは期待できません。また、モジュールは注入そのものに適さない。ただし、プロバイダのGuice管理インスタンスまたは@Providesメソッドにアクセスできます。

@Provides 
@Named("myConfigItem") 
String provideSomeConfigItem(Configuration config) { 
    return config.get("myConfigItem"); 
} 
+0

Ok、Thx - は、ログを助ける – Christian

関連する問題