Spring IOC 原理 ?
要想理解IOC,就需要知道一下IOC、DI 和IOC容器都是干什么的
IOC
spring ioc指的是控制反转,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。交由Spring容器统一进行管理,从而实现松耦合。
DI(依赖注入)
在Spring创建对象的过程中可以依据配置对象的属性进行设置,这个过程称之为依赖注入,也即DI
DI注入的几种方式
1. 通过JavaBean的set方法进行注入
通常JavaBean属性都会私有化,对外暴露setXxx()和getXxx()方法,
Spring在创建对象的过程中可以通过setXxx()方法将属性值注入对象
2. 基于构造方法的注入
对象属性设置的另一种方式是在对象创建的过程中通过构造方法设置对象属性值。spring也可以通过这样的构造方法实现属性的注入
IOC容器
IOC容器实际上是一个DI框架,它能简化我们的工作量,它包含的功能有:
- 动态创建、注入依赖对象
- 管理对象生命周期
- 映射依赖关系
IOC原理
通过注解扫描的方式,将标有**@Component、@Service、@Controller、@Respository的类 或者标记@Bean方法返回的对象创建保存到IOC容器中
在通过依赖注入的方式如:@Autowired、@Resource**的方式将IOC容器的对象拿出来,这就是控制反转了