IOC概述
- 地位:Spring框架的两个核心部分之一
- 作用:控制反转,把创建对象过程交给Spring进行,降低耦合度,简化开发
- 控制反转:在传统程序设计中,对象的创建是主动的,而在spring中对象的创建时被动的,对象是由IOC容器创建和管理,相当于一个管家,但对象之间的相互调用出了问题就不需要像之前那样费力气的去找了,使用了spring出现对象间的调度问题只需要找管家(配置文件或配置类)就可以了。
- 控制反转:在传统程序设计中,对象的创建是主动的,而在spring中对象的创建时被动的,对象是由IOC容器创建和管理,相当于一个管家,但对象之间的相互调用出了问题就不需要像之前那样费力气的去找了,使用了spring出现对象间的调度问题只需要找管家(配置文件或配置类)就可以了。
IOC原理
- IOC底层原理使用了xml解析、工厂模式、反射
IOC提供的IOC容器实现的两个接口
- BeanFactory:IOC 容器基本实现,是 Spring 内部的使用接口,不提供开发人员进行使用
- * 加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象
- ApplicationContext:BeanFactory 接口的子接口,提供更多更强大的功能,一般由开发人 员进行使用
- * 加载配置文件时候就会把在配置文件对象进行创建
IOC操作Bean管理
- 什么是 Bean 管理
- Bean 管理指的是两个操作:创建对象,注入属性
- Bean 管理操作有两种方式
- 基于 xml 配置文件方式实现
- 基于注解方式实现
- Bean的作用域:默认是单例的可以通过配置文件或配置类修改成多例的
- 自动装配
- 根据指定装配规则(属性名称或者属性类型),Spring 自动将匹配的属性值进行注入
- IOC还可以使用外部属性文件进行依赖注入,实际应用:直接配置数据库信息