首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Guice2.0的变更——第二部分 从Guice1.0迁徙到2.0

2012-10-26 
Guice2.0的变化——第二部分 从Guice1.0迁徙到2.0public class FooTest extends TestCase {public void test

Guice2.0的变化——第二部分 从Guice1.0迁徙到2.0

public class FooTest extends TestCase { public void testFoo() { Foo foo = Guice.createInjector().getInstance(FakeFoo.class) } class FakeFoo implements Foo { @Inject TestFoo() {...} }}

assertEquals(Key.get(int.class), Key.get(Integer.class));

assertEquals(TypeLiteral.get(int.class), TypeLiteral.get(Integer.class));

<!----><!----><!---->

这样仍然是通过不过的,所以这个只针对com.google.inject.Key。

?

?

?

<!----><!----><!---->

AnnotationImplementations

?

Guice2.0修改了对那些没有属性标注(filedless annotations)的处理方式——强制你必须实现equals() 和 hashCode() 两个方法。如果以前在Guice1.0中没有实现这两个方法恰巧又能用,现在注意已经在Guice2.0中已经无法正常使用了。

?

?

Injector.getBinding

?

Guice2.0会在绑定的类或接口无法正常解析时,抛出异常。但原来的老版本Guice1.0会简单的返回一个null。如果你还是想这么做的话,可以调用injector.getBindings().get(key)来实现。

?

?

SPI Changes

?

SourceProviders已经被Binder.withSource和Binder.skipSources替代了。这些新的方法相对来说更容易调用和测试,毕竟它们并不需要什么静态初始化(staticinitialization)或静态依赖(staticdependencies)之类的了。

?

?

?

?

?

全文完.............

?

?

1 楼 harry 2009-01-20   翻译的不错,呵呵

热点排行