guice的基本使用(一)

guice是google一个轻量级的DI注入框架,现在比较强大了,也与目前流行的struts2、jpa等都有集成了。

先看一个例子:

1 package com.ming.user.test;
2 
3 public interface Dao {
4     void testGuice();
5 }
 1 package com.ming.user.test;
 2 
 3 import com.google.inject.Singleton;
 4 
 5 @Singleton//声明此DaoImpl为单例
 6 public class DaoImpl implements Dao{
 7 
 8     @Override
 9     public void testGuice() {
10         
11         System.out.println("测试guice,实现依赖!");
12         
13     }
14 
15 }
 1 package com.ming.user.test;
 2 
 3 import com.google.inject.AbstractModule;
 4 //需要继承AbstractModule这个类,用于绑定
 5 public class TestModule extends AbstractModule{
 6 
 7     @Override
 8     protected void configure() {
 9         bind(Dao.class).to(DaoImpl.class);//这句代码的意思是说:运行时动态的将DaoImpl对象赋给Dao对象并且是单例的
10 } 11 12 }
 1 package com.ming.user.test;
 2 
 3 import com.google.inject.Guice;
 4 import com.google.inject.Injector;
 5 
 6 public class Test {
 7     
 8     public static void main(String[] args) {
 9          Injector injector = Guice.createInjector(new TestModule());  
10          Dao dao = injector.getInstance(DaoImpl.class);  
11          dao.testGuice();
12     }
13 }

这个是基本的单元测试入门例子了。

原文地址:https://www.cnblogs.com/huzi007/p/5797582.html