- こんにちは! 今日、私は最適化の種類について考え、いくつかの質問を持っている...
コンテキスト:私は私のWebアプリケーションでGuiceの2Guiceによるレジストリ最適化
使用してJavaで開発してい 、私は特定のタイプにその場で変換するコンバータのレジストリを持っています。次のようにコンバータが記述されている:
public class StringToBoolean implements Converter<String, Boolean>
{
@Override
public Boolean convert(String from)
{
return Boolean.valueOf(from);
}
}
私のレジストリは、地図に他ならない。
public class ConverterRegistryImpl implements ConverterRegistry
{
private Map<Key,Converter<?,?>> converterRegistry = new HashMap<Key, Converter<?,?>>();
@Override
public <F, T> void register(Class<F> fromType, Class<T> toType, Converter<F, T> converter)
{
converterRegistry.put(new Key(fromType,toType), converter);
}
}
最後に、私は私のレジストリに私のコンバータを登録する(クラス:ServletModule:configureServlets ())
私はこのステップを最適化できると思います...
ConverterRegistryImpl registry = new ConverterRegistryImpl();
registry.register(String.class, Integer.class, new StringToInteger());
registry.register(String.class, Boolean.class, new StringToBoolean());
...
//Then I bind the registry to this current instance...
bind(ConverterRegistry.class).toInstance(registry)
私はこのようにどこにでもそれを使用することができます:
@Inject
ConverterRegistry converter;
- まあ、私はこの使用のGuiceを実施するための最良の方法を探しています。
- より一般的に、あなたはどのようにしてGuiceとのレジストリを構築しましたか?
ありがとうございます!
フム、Guiceののないバージョン1.2がありません... –
はい、私が作ります間違い。私はバージョン2を使用しています。 – Jarod