Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。Guice非常小而且快。

(其他的依赖注入框架还有Dagger,Spring)

Spring框架的依赖注入是家喻户晓的,但是在实际的开发中我们想使用便捷的依赖注入功能,但是又不想引入Spring框架的复杂性,该怎么办呢?

有了Google Guice,这个问题便简单了,首先在你的maven项目里引入

<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>4.0</version>
</dependency>

  

我们使用Guice创建了一个注射器Injector,然后从Injector拿到你想要的对象就可以了,Guice会自动装配依赖树。Guice的启动速度是很快的,在一个大型应用中,Guice装配所有的模块决不会超过1s。Guice是一个非常干净的依赖注入框架,框架除了依赖注入功能之外,没有任何其它非相关模块功能。

Guice里最常用的两个注解就是@Singleton和@Inject,Singleton表示构建的对象是单例的,Inject表示被标注的字段将使用Guice自动注入。在一般的项目中这两个注解一般可以完成90%以上的装配工作。

Guice需要实例化对象,请确保相应被实例化的对象有默认构造器。

参考链接:https://www.jianshu.com/p/9ac108d14608

最新文章

  1. sublime 编译运行C程序
  2. Token原理以及应用
  3. OFFSET IN 使用举例
  4. Javascript之setTimeout
  5. maven nexus 3 third party 构件上传
  6. 2017年1月7日 星期六 --出埃及记 Exodus 21:33
  7. IIS7 503错误 Service Unavailable
  8. SSE 标准化向量
  9. SpringMVC中文件的上传(上传到服务器)和下载问题(二)--------下载
  10. BZOJ 2006: [NOI2010]超级钢琴 [ST表+堆 | 主席树]
  11. qt中的udp编程
  12. [AH/HNOI2017]影魔
  13. TextView的升级版———AutoCompleteTextView
  14. Jvm 内存模型 —— GC
  15. springboot-thymeleaf
  16. Maven私有仓库: 发布release版本报错:Return code is: 400, ReasonPhrase: Repository does not allow upd ating assets: maven-releases.
  17. linux下uptime命令详解
  18. java命令启动jacocoagent及生成报告
  19. 函数的有用信息,装饰器 day12
  20. 初识序列化和反序列化,使用BinaryFormatter类、ISerializable接口、XmlSerializer类进行序列化和反序列化

热门文章

  1. 海量数据处理的 Top K 相关问题
  2. vue 后台管理系统菜单权限管理
  3. SAP ETL DS
  4. Linux命令——ulimit
  5. HTML中使用图像
  6. SpringBoot之多数据源动态切换数据源
  7. 助教培训第四次作业——熟练掌握GitHub及Git的使用方法
  8. 基于Java+Selenium的WebUI自动化测试框架(三)------记录LOG
  9. idea启动springboot项目报Error running &#39;ServiceStarter&#39;: Command line is too long. Shorten command line for ServiceStarter or also for Application
  10. Android-jacoco代码覆盖率:单元测试覆盖率+功能测试覆盖率