IOC底层原理
最近开始在学习spring5的源码,对IOC的底层原理有了进一步的了解,框架的形成并不是一蹴而就的,而是通过一定的演变形成。
什么是IOC
1、 控制反转,把对象创建和和现象之间的条用过程,交给spring进行管理,目的就是降低耦合度
2、 底层实现:xml解析、工厂模式、反射
实例
如果userService的execute()想要调用UserDao里面的add()方法,可以有以下几种方法。
(1)最简单的方法就是在UserService中new一个UserDao对象,通过引用来调用方法。这种方法耦合度较高,例如UserDao的路径名修改或者方法改变后,UserService中也要相应的修改,代码维护量大。
(2)工厂模式,通过创建工厂类来实现,此方法虽然降低了UserService和UserDao之间的耦合,但是UserService和UserDao都与工厂类有耦合。如下图