-
近期文章
标签
文章归档
- 2020 年一月
- 2019 年六月
- 2018 年四月
- 2017 年八月
- 2017 年七月
- 2016 年十一月
- 2016 年十月
- 2016 年六月
- 2016 年五月
- 2016 年一月
- 2015 年十二月
- 2015 年十一月
- 2015 年十月
- 2015 年九月
- 2015 年八月
- 2015 年六月
- 2015 年五月
- 2015 年四月
- 2015 年三月
- 2015 年一月
- 2014 年十二月
- 2014 年九月
- 2014 年八月
- 2014 年六月
- 2014 年五月
- 2014 年四月
- 2014 年三月
- 2014 年一月
- 2013 年十二月
- 2013 年十一月
- 2013 年十月
- 2013 年九月
- 2013 年八月
- 2013 年七月
分类目录
功能
月归档:2013年10月
Guice系列之用户指南(五)
原文地址:https://code.google.com/p/google-guice/wiki/ProviderBindings ProviderBindings(提供者绑定):就是实现Provider接口来生产依赖的对象。 贴代码: 执行结果: run AnimalModule.configure() run Provider.get() name==>Tom i am a cat 练习代码在这里
Guice系列之用户指南(四)
原文地址:https://code.google.com/p/google-guice/wiki/ProvidesMethods @Provides Methods(@Provides注解方法):用@Provides来注解方法产生需要的对象。 贴代码: 执行结果: run @Provides jdbcUrl==>jdbc:mysql://localhost/pizza loginTimeout==>20 seconds 可以看到,在module里没有绑定int类型的值,却在依赖时注入了。 练习代码在这里
Guice系列之用户指南(三)
原文地址:https://code.google.com/p/google-guice/wiki/InstanceBindings InstanceBindings(实例绑定):基本类型直接绑定值。 贴代码: 执行结果: jdbcUrl==>jdbc:mysql://localhost/pizza loginTimeout==>10 seconds 练习代码在这里
Guice系列之用户指南(二)
原文地址:https://code.google.com/p/google-guice/wiki/BindingAnnotations BindingAnnotations(绑定注释):一个类型可能会有多个实现类,在绑定时加上注解,这样可以确定在依赖注入时用的具体是哪个实现类。 具体有2种,一种是自定义注解,另一种是@Named。 先看自定义注解,贴代码: 执行结果: Cat i am a cat 当把HelloServiceImpl的构造函数里的@Tom去掉后,执行结果: Dog i am a dog 发现,多个实现类绑定到一个类型时,后者覆盖前者。
Guice系列之用户指南(一)
原文地址:https://code.google.com/p/google-guice/wiki/LinkedBindings LinkedBindings(链接绑定):在类型上绑定它的实现。 贴代码 执行结果: HelloServiceImpl hello 还可以写成绑定链,此时再添加个子类, 然后,HelloServiceModule里注释打开。 执行结果: SubHelloServiceImpl sub hello 在写成绑定链时,injector返回该类型最终的实现类。 练习代码在这里