Inversion of Control 控制反转
先讲正向注入
1.interface
2.Polymorphism
public interface Printer { void print(String message);}public class HpPrinter implements Printer{@Overridepublic void print (String message){System.out.println("HP印表机:"+message);}}public class Teacher{private Printer printer = new HpPrinter();public void teach(){printer.print("I'm a teacher")}}public class Student {private Printer printer = new HpPrinterI();public void learn(){printer.print("I'm a student");}}ioc 开始!!!@Component 1.只能+在CLASS上2.可以将该CLASS 变成 SPRING 容器所管理的object3.它就变成bean了 (咖啡豆) :Bean hpPrinter , H要用小写4.等于统一在spring 容器中 新增物件: Printer hpPrinter = new HpPrinter();5.Teacher 也要变成bean6. Teacher 可用@Autowired来依赖注入 Bean hpPrinter 进入
@Component
public class HpPrinter implements Printer {
@Override
public void print(String message) {
System.out.println("HP印表机:" +message);
}
}
public calss Teacher {
private Printer printer = new HpPrinter();
public void teach () {
printer.print("i'm a teacher");
}
}
@Component
public class Teacher {
@Autowired
private Printer printer;
public void teach() {
printer.print("I'm a teacher");
}
}
console输出结果: HP印表机I'm a teacherSpring IOc 运作流程完毕~~~~~~~~~~~~~~~~~~~~~~打完收工~~我又拯救了这个闷热的下午~