IOC(Inverse Of Control 控制反转)的本质是对象不再由程序员手动创建而是由spring框架负责创建、管理和分配,编程人员负责从spring容器中拿想用的对象就可以了;
原先程序员既要负责业务逻辑的编写又要负责对象的创建,IOC的出现使得程序员只需要关注业务逻辑代码的编写,对象的创建交给了spring 容器,程序员负责从容器中获取对象。使得编程人员的职责更加明确、细化,编程人员更加注重业务的实现;
Ioc的实现主要依赖于工厂模式,spring相当于一个大型工厂,负责对象的创建与管理.
spring实现IOC的方式为依赖注入(DI)
1、依赖是指:变量、方法、对象等抽象数据,
2、注入是指:
-
将这些依赖数据注入到spring容器中
-
spring容器再将这些依赖注入到需要这些依赖的抽象数据类型中(类、接口、方法、变量等)
spring实现依赖注入的方式
- 构造器注入(在spring全局配置文件中编写)
- set注入(在Spring全局配置文件中编写)
- 注解注入(在类上,需要添加注解支持)