IoC
控制反转(Inversion of Control),将组件对象的控制权从代码本身转移到外部容器。例如:A类的方法中,实例化了B类的对象并调用其方法,那么A类就是依赖B类。控制反转就是在A类中不在创建B类的实例化对象,创建交给外部容器处理,在从外部容器得到B类对象。这就使得A类与B类没有直接的关系。
学生类
在spring配置文件中配置当加载spring配置文件时会读取该配置,在spring容器中实例化该对象。
测试类
1.加载spring配置文件获取spring容器
2.根据ID从spring容器中获取对象
DI
依赖注入(Dependency Injection),将组件的构建和使用分开。
CPU接口
内存接口
硬盘接口
computer类
CPU实现类
内存实现类
硬盘实现类
在不使用IoC/DI之前是要在测试类中,创建Computer,CUP,Ems,HardDisk,然后再set进去。依赖注入就是不在类中构建对象,在配置文件中注入。
通过配置文件把创建对象的控制权从代码脱离出来。
测试