guice的基本使用<1>

guice的基本使用<1>

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

先看一个例子:

1
2
3
public interface Dao {
void testGuice();
}
1
2
3
4
5
6
7
8
9
10
11
12
13
import com.google.inject.Singleton;

@Singleton//声明此DaoImpl为单例
public class DaoImpl implements Dao{

@Override
public void testGuice() {

System.out.println("测试guice,实现依赖!");

}

}
1
2
3
4
5
6
7
8
9
10
import com.google.inject.AbstractModule;                                                  
//需要继承AbstractModule这个类,用于绑定
public class TestModule extends AbstractModule{

@Override
protected void configure() {
bind(Dao.class).to(DaoImpl.class);//这句代码的意思是说:运行时动态的将DaoImpl对象赋给Dao对象并且是单例的
}

}
1
2
3
4
5
6
7
8
9
10
11
import com.google.inject.Guice;
import com.google.inject.Injector;

public class Test {

public static void main(String[] args) {
Injector injector = Guice.createInjector(new TestModule());
Dao dao = injector.getInstance(DaoImpl.class);
dao.testGuice();
}
}
生活不止苟且,还有我喜爱的海岸.