依赖注入 – Google Guice的隐藏特性

前端之家收集整理的这篇文章主要介绍了依赖注入 – Google Guice的隐藏特性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Google Guice提供了一些强大的依赖注入功能

我最近遇到了@Nullable功能,允许你将构造函数参数标记为可选(允许null),因为Guice默认不允许这些:

例如

public Person(String firstName,String lastName,@Nullable Phone phone) {
    this.firstName = checkNotNull(firstName,"firstName");
    this.lastName = checkNotNull(lastName,"lastName");
    this.phone = phone;
}

https://github.com/google/guice/wiki/UseNullable

Guice的其他有用功能(特别是不太明显的功能)是什么?

没有一个意图被隐藏,但这些是我最喜欢的“奖金功能”在Guice:

> Guice可以inject a TypeLiteral<T>,有效地消除擦除。
> TypeLiteral可以做generic type resolution:这告诉你在List< String>上的get()返回一个迭代器< String&gt ;.
> Types是Java通用类型接口实现的工厂。
> Grapher可视化喷油器。如果您的定制提供程序实现HasDependencies,它可以扩充此图。
> Modules.override()是一个令人难以置信的方便。
>用于定义参数化键的简短语法:new Key< List< String>>(){}。
> Binder.skipSources()允许您编写其错误消息正确跟踪行号的扩展。
> The SPI. Elements.getElements()将一个模块分解成原子,Elements.getModule()将它们放回一起。>如果在模块中实现equals()和hashCode(),您可以多次安装该模块,没有问题。

猜你在找的设计模式相关文章