guice基本使用,三种注入方式(二)
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基本使用,三种注入方式(二)的更多相关文章
- Spring IOC 三种注入方式
1. 接口注入 2. setter注入 3. 构造器注入 对象与对象之间的关系可以简单的理解为对象之间的依赖关系:A类需要B类的一个实例来进行某些操作,比如在A类的方法中需要调用B类 ...
- spring ioc三种注入方式
spring ioc三种注入方式 IOC ,全称 (Inverse Of Control) ,中文意思为:控制反转 什么是控制反转? 控制反转是一种将组件依赖关系的创建和管理置于程序外部的技术. 由容 ...
- Spring IOC以及三种注入方式
IOC是spring的最基础部分,也是核心模块,Spring的其他组件模块和应用开发都是以它为基础的.IOC把spring的面向接口编程和松耦合的思想体现的淋漓尽致. IOC概念 IOC(Invers ...
- Spring IOC 中三种注入方式
项目错误知识点记录 正文 最近在项目的时候,用到Spring框架,Spring框架提供了一种IOC的自动注入功能,可以很轻松的帮助我们创建一个Bean,这样就省的我们四处写new Object()这样 ...
- .NetCore中三种注入方式的思考
该篇内容由个人博客点击跳转同步更新!转载请注明出处! .NetCore彻底诠释了"万物皆可注入"这句话的含义,在.NetCore中到处可见注入的使用.因此core中也提供了三种注入 ...
- Spring学习日记01_IOC_xml的三种注入方式
什么是IOC 控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理 使用IOC目的:为了耦合度降低 做入门案例就是IOC实现 IOC底层原理 xml解析 工厂模式 反射 原始方式 cla ...
- Spring的三种注入方式(Setter、构造函数和自动注入)
一.Setter注入 这里我是希望在Student.java中调用Course.java中的内容. public class Course { public String name = "数 ...
- Spring IOC 三种注入方式(构造器,setter,接口)
Spring的依赖注入有三种方式: 1,构造器注入 2,setter注入 3,接口注入 下面我给大家介绍一下这三种注入 1.构造器注入 构造器注入主要是依赖于构造方法去实现,构造方法可以是有参也可以是 ...
- Spring常用的三种注入方式
好文要收藏,摘自:https://blog.csdn.net/a909301740/article/details/78379720 Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入 ...
随机推荐
- 在MFC中使用Cstring
此文介绍了关于MFC使用CString的资料,可一参考一下. 转自于VC知识库:http://www.vckbase.com/index.php/wv/829 通过阅读本文你可以学习如何有效地使用 C ...
- mvc重定向
出处 : https://www.cnblogs.com/lgxlsm/p/5441149.html .重定向方法:Redirect / RedirectToAction / RedirectToRo ...
- JDBC Druid式link
准备工作:导入包------druid-1.0.9.jar src文件夹下放下druid.properties文件 且其中的url和数据库名要配置完备 import JdbcUtils.JDBC ...
- js对cookie增删改查的封装
/** * 获取cookie * @param name * @returns {*} */ function getCookie(name) { var cookieArr = document.c ...
- Spring AOP --JDK动态代理方式
我们知道Spring是通过JDK或者CGLib实现动态代理的,今天我们讨论一下JDK实现动态代理的原理. 一.简述 Spring在解析Bean的定义之后会将Bean的定义生成一个BeanDefinit ...
- 无需编写代码,API业务流程测试,零代码实现
引言 除了测试单个接口,我们常常需要对多个有数据或者逻辑关联的接口进行业务流程测试,例如获取验证码-注册-登录.传统测试业务流程需要编写一系列测试代码,现在通过eoLinker全UI界面,无需编写任何 ...
- hadoop fs 常用命令(1)
Hadoop: https://blog.csdn.net/mulangren1988/article/details/54860924 Hadoop:1. Hadoop fs –fs [local ...
- 【剑指Offer】26、二叉搜索树与双向链表
题目描述: 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. 解题思路: 首先要理解此题目的含义,在双向链表中,每个结 ...
- C#第十四节课
函数的调用 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System ...
- nyoj24-素数 距离问题
素数距离问题 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 现在给出你一些数,要求你写出一个程序,输出这些整数相邻最近的素数,并输出其相距长度.如果左右有等距离长度素数 ...