首页
学习
活动
专区
工具
TVP
发布

Guice 快速入门

这时候我们可以考虑使用Guice。本文参考了Guice官方文档,详细信息可以直接查看Guice文档。 基本使用 引入依赖 如果使用Maven的话,添加下面的依赖项。...Guice配置完之后,我们需要调用Guice.createInjector方法传入配置类来创建一个注入器,然后使用注入器的getInstance方法获取目标类,Guice会按照配置帮我们注入所有依赖。...安装Guice Servlet扩展 要在Servlet项目中集成Guice,首先需要安装Guice Servlet扩展。如果使用Maven,添加下面的依赖。...下面这个表格来自于Guice文档,我们可以看到JSR-330和Guice注解基本上可以互换。...以上就是Guice的基本知识了。如果需要更详细的使用方法,请参考Guice文档。如果有兴趣还可以看看我的CSDN代码,包含了我的Guice练习代码。

1.4K10
您找到你想要的搜索结果了吗?
是的
没有找到

Guice依赖注入(构造函数)

本教程主要详细讲解Guice的构造函数注入. 我们将通过详细的代码以及步骤进行讲解....基础环境 --- 技术 版本 Java 1.8+ Guice 4.2.3 初始化项目 --- 初始化项目 mvn archetype:generate -DgroupId=io.edurt.lc.guice...: guice就是我们核心要使用的依赖 构造函数注入 --- 在Guice中我们可以通过将需要的实体信息通过构造函数直接注入到我们需要的任意地方,我们通过列举一个例子来实际说明。...在src/main/java目录下新建io.edurt.lc.guice.GuiceConstructorService类文件,在文件输入以下内容 package io.edurt.lc.guice;...,这个是和static属性息息相关的,当我们注入static属性的时候要告知Guice我们具体使用static属性的父类,这样Guice才可以帮我们注入进来。

70380

Guice依赖注入(接口多实现)

本文章主要详细讲解Guice依赖注入中的特性接口多实现,一般使用到guice的框架的插件机制都是基于该方式实现。...基础环境 --- 技术 版本 Java 1.8+ Guice 4.2.3 初始化项目 --- 初始化项目 mvn archetype:generate -DgroupId=io.edurt.lc.guice...和io.edurt.lc.guice.annotation.Python注解类,用于提供guice框架标识 io.edurt.lc.guice.annotation.Java文件内容 package io.edurt.lc.guice.annotation...(Guice.java:87) at com.google.inject.Guice.createInjector(Guice.java:69) at com.google.inject.Guice.createInjector...,导致guice无法识别具体是哪个实现类,不过guice是强大的这种问题也被考虑到了,只需要使用@Named模板生成注解即可解决,我们将代码修改为以下内容 package io.edurt.lc.guice

81530

Maven IOC 容器-- Guice内部有什么

Google Guice容器内部有什么 前言 Maven系列,好几天没写了,主要是这几天被Google Guice卡住了,本来是可以随便带过Guice,讲讲guice的用法就够了(这个已经讲了,在前面的文章...),但是,想着guice作为maven的底层IOC容器,对guice的理解深入一些,对后续的Maven源码学习也会比较有帮助,因此,就在那开始分析guice的源码。...guice作为一个仅次于Spring的IOC容器,代码也不是那么好懂的,毕竟也迭代了十来年了;代码量不少,另外,我感觉代码也有点绕,就看得真心有点打瞌睡。...针对Guice的源码分析法 一般来说,我debug源码,都是从头开始,单步debug过去,很多时候,这种IOC框架啥的,启动非常复杂,一个小时也跟不完一趟;过程冗长,一篇几千字的文章基本都讲不完,读者也记不住那么多东西...key就是对应的接口类,value就是说:怎么去实例化一个这个类型的实例出来,所以呢,guice内部,为了统一,基本把value这部分统一成了一个工厂。如下: 而工厂类里是什么样呢?

64330

使用Dagger2做静态注入, 对比Guice.

Dagger 依赖注入的诉求, 这边就不重复描述了, 在上文Spring以及Guice的IOC文档中都有提及, 既然有了Guice, Google为啥还要搞个Dagger2出来重复造轮子呢?...而Dagger跟Guice最大的差异在于, 他是编译期注入的, 而不是运行时. 他生成的代码可以直观的调试, 也不是通过反射, 而是通过构建工厂类. 下面我们用代码来简单演示一下....写法很简单, 跟Guice类似, 我们只需要在reportpage成员上加@Inject注解....此时我们就要跟Guice里一样, 使用@Named注解来标识了 1 @Named("new") 2 public ReportPageProvider reportPage; 调用的时候也很简单...// 对象会在get()方法调用的时候触发初始化 4 job.oldReportPage.get().print(); 到这边就结束了, 可以看到Dagger使用上跟Guice

2.8K70
领券