对IOC(控制反转)的理解

在传统程序的开发过程中,比如我们的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对象,能很大程度减少程序间的耦合度

猜你喜欢

转载自blog.csdn.net/python_small_pan/article/details/118222028