Guice系列之用户指南(一)

简介:

原文地址:https://code.google.com/p/google-guice/wiki/LinkedBindings

LinkedBindings(链接绑定):在类型上绑定它的实现。

贴代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public interface HelloService {
     void sayHello();
}
 
public class HelloServiceImpl implements HelloService {
 
     @Override
     public void sayHello() {
         System.out.println( "hello" );
     }
 
}
 
import com.google.inject.AbstractModule;
 
public class HelloServiceModule extends AbstractModule {
 
     @Override
     protected void configure() {
         bind(HelloService. class ).to(HelloServiceImpl. class );
//      bind(HelloServiceImpl.class).to(SubHelloServiceImpl.class);
     }
 
}
 
public class Test {
     public static void main(String[] args) {
         Injector injector = Guice.createInjector( new HelloServiceModule());
         HelloService helloService = injector.getInstance(HelloService. class );
         System.out.println(helloService.getClass().getSimpleName());
         helloService.sayHello();
     }
}

执行结果:
HelloServiceImpl
hello

还可以写成绑定链,此时再添加个子类,

1
2
3
4
5
6
7
8
public class SubHelloServiceImpl extends HelloServiceImpl {
 
     @Override
     public void sayHello() {
         System.out.println( "sub hello" );
     }
 
}

然后,HelloServiceModule里注释打开。

执行结果:
SubHelloServiceImpl
sub hello

在写成绑定链时,injector返回该类型最终的实现类。

练习代码在这里


相关文章
|
开发框架 Java Maven
Drools集成CDI(一)
Drools集成CDI(一)
209 0
Drools集成CDI(二)
Drools集成CDI(二)
152 0
|
Java 数据库连接 应用服务中间件
jboss规则引擎KIE Drools 6.3.0-高级讲授篇
在生产环境怎么用BRMS 回溯BRMS开发教程中的那张“业务变现加速器”架构图,考虑下面的问题 业务开发人员开发规则 IT人员提供FACT 关键在于“全动态” SQL语句改了怎么办?不重启 DAO层改了怎么办?不重启 Mybatis的配置文件改了怎么办?不重启 按照上次的《jboss规则引擎KIE Drools 6.
2974 0
|
Java 数据库连接 Spring
Guice 快速入门
Guice是谷歌推出的一个轻量级依赖注入框架,帮助我们解决Java项目中的依赖注入问题。如果使用过Spring的话,会了解到依赖注入是个非常方便的功能。不过假如只想在项目中使用依赖注入,那么引入Spring未免大材小用了。
978 0
|
Java 数据库连接 关系型数据库

热门文章

最新文章

下一篇
开通oss服务