一开始看到使用java的dependency injection感觉各种酷炫拽,然后就试用了一下guice修改一下之前的代码,然后把之前写的代码一改,结果各种吐血,很多东西和我想象的不一样。。。,由于对dependency injection的设计模式还不是很了解,先写写对它的初步理解。
field injection vs construction injection
最开始吸引我去...
分类:
其他好文 时间:
2014-11-27 10:47:11
阅读次数:
153
java的guice3.0依赖注入方法,这里采用的是官方文档的第一种注入方法。
jar包下载地址:
https://github.com/google/guice/releases/download/3.0/guice-3.0.zip
工程目录结构:
接口及相应的代码模块
/**
*
*/
package com.test.func;
/**
*...
分类:
编程语言 时间:
2014-11-24 11:52:13
阅读次数:
198
Roboguice是一个用于Android应用的依赖注入框架,使用Google官方的Guice库位极大地简化了Android的依赖注入。使用他使编程变得更加简单有趣。
使用Roboguice需要几个jar点击下载 下载知道导入到自己的项目中
使用Roboguice是Activity页面需要继承RoboActivity
/**
*
*/
package com.example.robog...
分类:
移动开发 时间:
2014-11-17 15:55:01
阅读次数:
185
为增强依赖注入功能,Guice支持方法拦截器。通过这个特性可以让方法在每次执行前调用一个匹配(过滤)方法。这适用于横切性关注点(切面),例如事务控制,权限与日志记录等。因为拦截器将一个问题分割成切面而不是对象;所以拦截器使用又被称为面向切面编程(AOP)。
大多数开发者不会直接编写方法拦截器,但是可能在一些类库中见到,需要进方法进行选择,创建一个拦截器并将它配置在Module中;例如Warp...
分类:
其他好文 时间:
2014-11-03 22:33:54
阅读次数:
378
在Guice中,注入方法有如下几种:
一、构造器注入(Constructor Injection)
使用构造器注入只要在构造方法上添加一个@Inject注解,该构造方法接收一些依赖参数,大多数的构造方法将这些参数
赋值给final字段。
public class RealBillingService implements BillingService {
private fin...
分类:
其他好文 时间:
2014-11-02 12:28:24
阅读次数:
167
默认情况下,Guice获取一个实例时,每次都会返回一个新的对象。这个行为可以通过scopes进行配置。Scopes允许你复用实例:
应用整个生命周期(@Singleton),会话(@Session),请求(@RequestScoped),Guice还提供为Web应用提供了一种Servlet扩展作用域。并且在Guice还可以自定义范围。
Guice使用注解来标识作用域,将注解添加到某一类...
分类:
其他好文 时间:
2014-10-31 23:42:26
阅读次数:
192
在Guice中,注入器的工作是装配对象图,当请求某一类型实例时,注入器根据对象图来判断如何创建实例、解析依赖。要确定如何解析依赖就需要通过配置注入器的绑定方式。
要创建绑定(Binding)对象,可以继承自AbstractModule类,然后覆盖其configure方法,在方法调用bind()方法来指来定每一次绑定,这些方法带有类型检查,如果你使用了错误的类型编译器就会报告编译错误。如果你已...
分类:
其他好文 时间:
2014-10-31 19:13:26
阅读次数:
251
Google Guice由google推出的一开源软件,是超轻量级的,下一代的,为Java 5及后续版本设计的依赖注入容器,其功能类似于如日中天的Spring。
下面我们就来了解一下Guice,在此之前,先看一个官方例子:在应用程序中,要把所有的东西装配起来是一件很乏味的事件,这要涉及到连接数据,服务,表现层类等方面,这是一个比萨饼订购网站的计费代码例子用于这些方面的对比。
public...
分类:
其他好文 时间:
2014-10-31 01:15:46
阅读次数:
270
在我们平时开发Android项目的时候例如经常需要使用各种View控件,然后进行声明,findViewById,并且进行强转。每次都要写这样的代码就显得非常繁琐,并且容易出错哦。那么针对这种情况且不限定于以上的这类情况,Dependency injection
可以大大降低了类之间的依赖性,可以通过annotation (Java)描述类之间的依赖性,避免了直接调用类似的构造函数或是使用Fac...
分类:
其他好文 时间:
2014-10-25 10:35:10
阅读次数:
168
refer this document: http://blog.chinaunix.net/uid-20749563-id-718418.html @Inject注入方式,用@Inject来标识那个方法被注入 @ImplementedBy(Class)的注释方式。可以直接从你的接口指向一个缺省的实...
分类:
其他好文 时间:
2014-10-18 10:54:34
阅读次数:
211