guice提供了强大的注入方式。

1.属性注入

2.构造器注入

3.set方式注入

1.属性注入:

 package com.ming.user.test;

 import com.google.inject.Inject;
import com.google.inject.Singleton; /**
* guice 不同的注入方式
* @author mingge
*
*/
@Singleton
public class TestInjection { @Inject
private Dao dao; void test(){ dao.testGuice();
} }

2.构造方法注入

 package com.ming.user.test;

 import com.google.inject.Inject;
import com.google.inject.Singleton; /**
* guice 不同的注入方式
*
* @author mingge
*
*/
@Singleton
public class TestInjection { private Dao dao; @Inject
public TestInjection(Dao dao) {
this.dao = dao;
} void test() { dao.testGuice();
} }

3.set方式注入

 package com.ming.user.test;

 import com.google.inject.Inject;
import com.google.inject.Singleton; /**
* guice 不同的注入方式
*
* @author mingge
*
*/
@Singleton
public class TestInjection { private Dao dao; @Inject
public void setDao(Dao dao) {
this.dao = dao;
} void test() { dao.testGuice();
} }

当然,在我们的module中需要绑定这个TestInjection这个类才可以用哦.

 package com.ming.user.test;

 import com.google.inject.AbstractModule;

 public class TestModule extends AbstractModule{

     @Override
protected void configure() {
bind(Dao.class).to(DaoImpl.class);
bind(TestDaoInjection.class);
}
}

测试代码如下:

 package com.ming.user.test;

 import com.google.inject.Guice;
import com.google.inject.Injector;
import com.google.inject.Module; public class Test { public static void main(String[] args) {
Injector injector = Guice.createInjector(new TestModule());
TestDaoInjection test = injector.getInstance(TestDaoInjection.class);
test.test();
}
}

结果就是你想要的...

平时用得最多,估计属性注入最方便了。但是也有特殊情况,一切看项目需要来做了。。。

下一篇研究一下绑定的几种方式吧。。。

guice基本使用,三种注入方式(二)的更多相关文章

  1. Spring IOC 三种注入方式

    1.    接口注入 2.    setter注入 3.    构造器注入 对象与对象之间的关系可以简单的理解为对象之间的依赖关系:A类需要B类的一个实例来进行某些操作,比如在A类的方法中需要调用B类 ...

  2. spring ioc三种注入方式

    spring ioc三种注入方式 IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转 什么是控制反转? 控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术. 由容 ...

  3. Spring IOC以及三种注入方式

    IOC是spring的最基础部分,也是核心模块,Spring的其他组件模块和应用开发都是以它为基础的.IOC把spring的面向接口编程和松耦合的思想体现的淋漓尽致. IOC概念 IOC(Invers ...

  4. Spring IOC 中三种注入方式

    项目错误知识点记录 正文 最近在项目的时候,用到Spring框架,Spring框架提供了一种IOC的自动注入功能,可以很轻松的帮助我们创建一个Bean,这样就省的我们四处写new Object()这样 ...

  5. .NetCore中三种注入方式的思考

    该篇内容由个人博客点击跳转同步更新!转载请注明出处! .NetCore彻底诠释了"万物皆可注入"这句话的含义,在.NetCore中到处可见注入的使用.因此core中也提供了三种注入 ...

  6. Spring学习日记01_IOC_xml的三种注入方式

    什么是IOC 控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理 使用IOC目的:为了耦合度降低 做入门案例就是IOC实现 IOC底层原理 xml解析 工厂模式 反射 原始方式 cla ...

  7. Spring的三种注入方式(Setter、构造函数和自动注入)

    一.Setter注入 这里我是希望在Student.java中调用Course.java中的内容. public class Course { public String name = "数 ...

  8. Spring IOC 三种注入方式(构造器,setter,接口)

    Spring的依赖注入有三种方式: 1,构造器注入 2,setter注入 3,接口注入 下面我给大家介绍一下这三种注入 1.构造器注入 构造器注入主要是依赖于构造方法去实现,构造方法可以是有参也可以是 ...

  9. Spring常用的三种注入方式

    好文要收藏,摘自:https://blog.csdn.net/a909301740/article/details/78379720 Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入 ...

随机推荐

  1. 在MFC中使用Cstring

    此文介绍了关于MFC使用CString的资料,可一参考一下. 转自于VC知识库:http://www.vckbase.com/index.php/wv/829 通过阅读本文你可以学习如何有效地使用 C ...

  2. mvc重定向

    出处 : https://www.cnblogs.com/lgxlsm/p/5441149.html .重定向方法:Redirect / RedirectToAction / RedirectToRo ...

  3. JDBC Druid式link

    准备工作:导入包------druid-1.0.9.jar    src文件夹下放下druid.properties文件 且其中的url和数据库名要配置完备 import JdbcUtils.JDBC ...

  4. js对cookie增删改查的封装

    /** * 获取cookie * @param name * @returns {*} */ function getCookie(name) { var cookieArr = document.c ...

  5. Spring AOP --JDK动态代理方式

    我们知道Spring是通过JDK或者CGLib实现动态代理的,今天我们讨论一下JDK实现动态代理的原理. 一.简述 Spring在解析Bean的定义之后会将Bean的定义生成一个BeanDefinit ...

  6. 无需编写代码,API业务流程测试,零代码实现

    引言 除了测试单个接口,我们常常需要对多个有数据或者逻辑关联的接口进行业务流程测试,例如获取验证码-注册-登录.传统测试业务流程需要编写一系列测试代码,现在通过eoLinker全UI界面,无需编写任何 ...

  7. hadoop fs 常用命令(1)

    Hadoop: https://blog.csdn.net/mulangren1988/article/details/54860924 Hadoop:1. Hadoop fs –fs [local ...

  8. 【剑指Offer】26、二叉搜索树与双向链表

      题目描述:   输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向.   解题思路:   首先要理解此题目的含义,在双向链表中,每个结 ...

  9. C#第十四节课

    函数的调用 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System ...

  10. nyoj24-素数 距离问题

    素数距离问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:2 描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度.如果左右有等距离长度素数 ...