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(控制反转),常用的注入 ...
随机推荐
- (转)Arcgis for JS实现台风运动路径与影像范围的显示
http://blog.csdn.net/gisshixisheng/article/details/42025435 首先,看看具体的效果: 初始化状态 绘制中 绘制完成 首先,组织数据.我组织的数 ...
- HDU_2642_二维树状数组
Stars Time Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/65536 K (Java/Others)Total Submi ...
- myeclipse中代码不显示SVN版本号
打开 : windows ->preferences->General->Appearance->Lable Decoration s 勾选其中的 SVN 项即可. 如果以上方 ...
- Linux常见英文报错中文翻译
Linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permission ...
- 【转载】JSTL和EL的使用
使用JSTL前的准备 想要使用JSTL,首先需要给工程导入JSTL的包(JSTL.jar和standard.jar). JSTL标签库 在JSTL中分为以下五个标签 核心标签 格式化标签 SQL标签 ...
- 【剑指Offer】18、二叉树的镜像
题目描述: 操作给定的二叉树,将其变换为原二叉树的镜像. 解题思路: 求一棵树的镜像的过程:先前序遍历这棵树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点.当交换完所有的非 ...
- Oracle SQL语句之常见优化方法总结
1.用EXISTS替换DISTINCT 当SQL包含一对多表查询时,避免在SELECT子句中使用DISTINCT,一般用EXIST替换,EXISTS(低效): SELECT DISTINCT USER ...
- GreenPlum 集群常用命令
GreenPlum 常用命令 gpstate 命令 参数 作用 gpstate -b => 显示简要状态 gpstate -c => 显示主镜像映射 gpstart -d => 指定 ...
- python-windows环境安装
windows下python环境安装 1. 先在官网上下载安装包,官网地址:https://www.python.org/ 点击windows,进入下载选择 选择python3.7.0,点击进入下载, ...
- phpstorm zhuce ma
username :cf96PiPYt271u1TC License Key : 97807-12042010 00001GctOKh8f206hliugiW6iAS5bh 8AAXfEtfpdDSr ...