在传统程序的开发过程中,比如我们的Service方法中需要调用Dao层的方法一般步骤为:
Dao dao = new Dao();
dao.function();
就是说,我们主动去创建,即new 一个Dao对象;然后通过这个对象去调用对应的方法。
即Service依赖Dao,所以我需要你,然后创建你,再调用你。
而IOC思想下的方法一般步骤为:
自己写BeanFactory方法():
Dao dao = (Dao)BeanFactory.getbean("");
dao.function();
SpringBoot里有@AutoWire注解
@AutoWire
Dao dao;
dao.function();
即我们不用去主动new Dao对象,而只是去获取Dao对象,从哪获取呢?
IOC容器,即将所有的对象创建好并保存在容器内,由容器管理,你需要的话,跟容器讲,容器再递给你。
这样的好处是什么呢?我们不用再去主动new Dao对象,能很大程度减少程序间的耦合度。