IOC本质
**控制反转IOC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IOC的一种方法,**也有人认为DI只是IOC的另一种说法。没有IOC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。
采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。
控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是loC容器,其实现方法是依赖注入(Dependency Injection,Dl)。
IOC接口
IOC思想基于IOC容器完成,IOC容器底层就是对象工厂
Spring提供IOC容器实现两种方式:(两个接口)
- BeanFactory:IOC容器基本实现,是Spring内部的使用接口,不提供开发人员使用
加载配置文件时候不会创建对象,在获取对象(使用)才去创建对象 - ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用
加载配置文件时候就会把在配置文件对象进行创建
IOC操作Bean管理
什么是Bean管理
- Bean管理指的是两个操作
- Spring创建对象
- Spring注入属性
Bean管理操作用两种方式
基于xml配置文件方式实现
基于xml方式创建对象
<bean id="hello" class="com.hao.pojo.HelloSpring">
<property name="str" value="Spring"/>
</bean>
在spring配置文件中,使用bean标签,标签里添加对应属性,就可以实现对象的创建
1.在bean标签有很多属性
属性 | 作用 |
---|---|
id | 唯一标识符 |
class | 类全路径 |
创建对象时候,默认也是执行无参数构造方法