一.IOC(控制反转)
1.Spring框架的作用:管理我们项目业务中的各项Bean(Service,dao,Action)实例化类。
2.Spring框架
什么是IOC控制反转?
定义:控制反转是一个重要的面向对象编程的法则来削弱计算机程序的耦合问题,,也就是轻量级的Spring框架核心,beans。
理解一: 将组件对象(业务对象)的控制权从代码本身转移到外部容器
理解二:IOC控制反转,说的是创建对象实例的控制权从代码控制剥离到IOC容器,侧重原理。
IOC原理:
在业务代码中不使用我们之前司空见惯的关键字new来构建一个业务实例,而是在配置文件中。通过xml节点来告知容器如何对内存中构建的对应类型的对象名称做命名。
DI依赖注入:
说的是在创建对象时,为对象注入属性值或其它对象实例(域属性),侧重于实现。
DI和IOC详细阐述:
DI是一个初始化实例的过程,分为三种1.setter based 2.constroctor based 3.interface based,在spring中就是应用前两种但又不仅仅是初始化实例,而且是运用接口的概念去实现这种注入依赖。静态地看,只是依赖一个接口,但实际运行起来,是依赖一个实现了该接口的具体类。
IOC就是面向接口编程的应用
1.一个通常的做法(非面向接口编程的方法),对象A依赖对象B,B会作为A的属性,可以理解为A直接控制B;
2.IOC的做法,对象A依赖于接口C,而不直接依赖于实现了接口C的B,也就是A不能直接控制是哪个具体实现了C的B去做相应的事情,而是由我们控制可以由哪个实现了接口C的B去处理,也就是控制反过来了,是由B来决定了,而不是由A,实现就是面向接口编程。