学习控制反转IOC和依赖注入DI总结
一、理解:
1.当我们需要一个对象时候,正常情况我们new一个对像,但是控制反转是:外部容器创建一个,我们拿来用,这个时候就想到了网友和我说的,经常new会大大消耗性能,所以少用。
通俗介绍:我们想住一个房子,不是自己画图纸,自己造房子,而是我们找开发商,找二手房主或者中介买来直接入住
2.我们不负责对象的创建,只负责外部来创建我们直接来使用。
3.依赖注入:其实是控制反转的实现方式,作用就是:创建对象或者组装对象之间的关系
4.通俗介绍:ioc初始化时候会创建一系列对象同时它会把他们之间关系通过注入方式组织起来
一个对象A里面持有一个B,当A初始化时候会实例化A,和B,再把B对象赋值给A
5.官网这样解释:应用程序不需要关注对象创建等等,只关注使用,不关心对象创建,那么谁创建了:由spring容器创建
6.寻找IOC容器(找中介),容器返回对象(中介介绍房子我们),我们使用对象(我们入住)
二、根据spring理解、
1.spring注入:启动spring时候会默认加载bean配置,完成对变量赋值,容器初始化时候a初始化就把ab给赋值,这就是b注入a
三、业务代码
1.一般有两种构造bean来依赖注入。分别是
设置注入:写xml文件来注入,并且使用时候要调用和get set一下
构造注入:写xml文件注入,但是是通过构造方法来调用,不需要get set