美文网首页
[Guice] 5 绑定

[Guice] 5 绑定

作者: LZhan | 来源:发表于2019-08-10 18:43 被阅读0次

绑定的方式有很多种:
<1> 类名绑定
<2> 实例绑定
<3> 连接绑定
<4> Provider绑定
<5> 命名绑定
<6> 泛型绑定
<7> 集合绑定

假设有接口PayService存在,该接口有实现类PayServiceImpl
1.类名绑定

bind(PayService.class).to(PayServiceImpl.class)

2.实例绑定

bind(PayService.class).toInstance(new PayServiceImpl())

3.连接绑定
接口A绑定到实现类B上,而实现类B又绑定到B的某个实例b上,那么接口A就相当于绑定到实例b上。

image.png

4.Provider绑定
可以通过toProvider,
也可以通过@provides注解,
当然也可以使用类名绑定等。

这里需要注意的是前面不一定非得使用Provider<T>才行,只要注入进去即可绑定。

使用@Provides绑定,每次调用可以获取新的值,而使用bind,初始化的时候值就已经定‘死’了,之后不会改变

5.命名绑定
在注入的时候,加入@Named("AAA"),那么在绑定的时候,同样需要加上注解@Named("AAA")
如:

bind(Long.class).annotatedWith(Names.named("AAA")).to(...)

6.泛型绑定
当有泛型的时候,使用TypeLiteral

bind(new TypeLiteral<List<String>>(){}).toInstance(...)

7.集合绑定
实现多个Module共同绑定一个Set或者Map

相关文章

  • [Guice] 5 绑定

    绑定的方式有很多种:<1> 类名绑定<2> 实例绑定<3> 连接绑定<4> Provider绑定<5> 命名绑定<...

  • Guice(二) Guice中的绑定

    翻译自官方文档,能力有限,如有缺漏,还望指正。 1.绑定(Bindings) 注射器(injector)的主要作用...

  • Java Vert.x 集成Guice

    Java Vert.x 集成Guice Guice介绍 Guice是谷歌推出的一个轻量级依赖注入框架,帮助我们解决...

  • Druid(二)——Druid中用到的一些技术

    Guice框架 Guice是Google开发的一个轻量级的DI框架,Guice在2008年获得了软件界的奥斯卡--...

  • Guice 教程(2)

    接上文,我们会发现在Guice的配置模块里面bind这个方法出现了很多次,这篇文章就带大家深入了解一下绑定的细节。...

  • [Guice] 7 Guice Aop

    Guice中的Aop,通常是结合自定义注解实现。 以实现一个日志打印的切面注解为例:1、自定义注解 2、在modu...

  • 3.Guice轻量级注解Guice简单之美

    Guice[https://github.com/google/guice]是谷歌推出的一个轻量级依赖注入框架,帮...

  • Guice

    「Guice」依赖注入框架中的小清新单例情况下轻量级的DI呗。

  • Google Guice(一) 初识Guice

    翻译自官方文档,能力有限,如有缺漏,还望指正。 把所有的代码都糅合到一起,这可能是开发过程中最让人觉得无聊和枯燥的...

  • Druid源码阅读——Server启动流程

    Druid的代码里面使用了大量的Google Guice依赖注入(DI),还是第一次接触Guice。相比于Spri...

网友评论

      本文标题:[Guice] 5 绑定

      本文链接:https://www.haomeiwen.com/subject/txorjctx.html