guice是十分有用的编程框架,只要是用来实现依赖注入的。
功能一:最简单的功能。
试用场景:有一个student接口,有两个实现类ManStudent与FemaleStudent,在StudentModule(集成Module)实现configure方法,完成将Student接口绑定到ManStudent类上,在需要实例化的时候采用injentor来对接口进行实例化,即可多的ManStudent对象。若在需要实例FemaleStudent对象时,再将module里的绑定改为FemaleStudent类。
代码如下:
main.class
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Module module = new StudentModul();
Injector injector = Guice.createInjector(module);
Student student = injector.getInstance(Student.class);
student.printName();
}
}
module实例类
public class StudentModul implements Module {
@Override
public void configure(Binder binder) { //实现类与接口的绑定
// TODO Auto-generated method stub
// binder.bind(Student.class).to(ManStudent.class);
binder.bind(Student.class).to(FemaleStudent.class);
}
}
student.class接口
public interface Student {
// public School schoolName;
public void printName() ;
}
ManStudent.class实现类:
public class ManStudent implements Student{
public String name;
@Override
public void printName(){
System.out.println("hyh");
}
}
FemaleStudent.class实现类:
public class FemaleStudent implements Student {
@Override
public void printName() {
// TODO Auto-generated method stub
System.out.println("qyl");
}
}