google guice @inject comments

简介:

refer this document: http://blog.chinaunix.net/uid-20749563-id-718418.html

@Inject注入方式,用@Inject来标识那个方法被注入

@ImplementedBy(Class)的注释方式。可以直接从你的接口指向一个缺省的实现,而省略掉对com.google.inject.Module的实现。其实这样就违背了多态的原则,一般使用较少,最后还是把控制权交给Module来处理。

 

当 Guice 找到注释时,它会挑选构造函数参数,并试图为每个参数找到一个配置绑定。这称为 构造函数注入。根据 Guice 的最佳实践指南,构造函数注入是询问依赖项的首选方式。

 

Guice通过@Inject标注来实现依赖注入,它根据作用的对象不同分为setter方法注入、构造方法注入、成员变量注入3种注入方式。在使用@Inject进行注入时,需要通过标注@ImplementedBy(SunyangImpl.class)来声明Sunyang接口的实现类。

1.使用成员变量进行注入

新建一个类,在类中添加类型为Sunyang的成员变量sunyang,通过@Inject标注声明该成员变量为被注入的变量,同时使用Guice的方法createInjector()将此变量注入,并用getInstance()方法将其取出。

createInjector方法可以有多个参数,它的参数均为接口Module类型。没有参数时,Inject标注作用的属性全部进行注入,相反将参数的内容注入。属性必须存在于createInjector方法的类中,

2.使用构造方法进行注入

使用构造方法进行注入,需要在类中增加Sunyang类型的成员变量,然后定义一个包含Sunyang类型参数的构造方法,通过@Inject标注声明构造方法将其注入,在main方法中将其取出,并执行属性sunyang的print方法,如代码12-11所示。

 

3.使用setter方法进行注入

使用setter方法进行注入,需要在类中增加对成员变量设置的setter方法,同时通过标注@Inject将其声明,然后在main方法中将其取出,如代码12-12所示。

 

 

@Singlegon

refer this page:http://dreamzhong.iteye.com/blog/1141335  only one instance



本文转自hcy's workbench博客园博客,原文链接:http://www.cnblogs.com/alterhu/p/4032587.html,如需转载请自行联系原作者。

目录
相关文章
|
XML 开发框架 前端开发
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(下)
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(下)
|
druid Java 程序员
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(上)
3分钟带你了解:轻量级依赖注入框架Google Guice【享学Java】(上)
|
监控 Java Spring
平台化三部曲之二模块化开发 - Google Guice 平台模块化开发的果汁
该文章来自阿里巴巴技术协会(ATA)精选集 在前文《从Eclipse平台看交易平台化》中,主要探讨平台的扩展机制。 本文将继续探讨平台化开发中另一个重要方面: 模块机制。在阿里系统开发中,大家都有自己的模块化开发方式。比如目前交易中的TMF框架(Trade Module Framwork)
12154 2
|
Java Spring 容器
Google Guice 3.0开发
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/58049192 Google Guice 3.0开发 作者:chszs,未经博主允许不得转载。
1324 0
|
Java Android开发 Spring
Android依赖注入:Google Guice on Android的使用及相关资源
本文转自:http://blog.csdn.net/sangming/article/details/8878104 RoboGuice 使用谷歌自己的Guice库,给Android带来了简单和易用的依赖注入。
1054 0
|
7月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2692 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
7月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
101 0
|
7月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
165 0