- 嗨! 今天,我想過一種優化的,並有一些問題...
語境: 我使用的吉斯2.使用Guice進行註冊表優化
在我的web應用程序使用Java進行開發,我有一個轉換器的註冊表,以實時轉換爲某種類型。 A轉換器的描述如下:
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);
}
}
最後註冊我的轉換器在我的註冊表(類:servlet模塊: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(或沒有)的情況下建立這種註冊表的?
在此先感謝!
嗯,沒有吉斯的1.2版本... –
是的,我做一個失誤。我正在使用版本2,謝謝 – Jarod