玩转Spring框架教程03之Spring IOC实现原理

欢迎进群交流(QQ群:655019021)

一、IOC原理讲解

 Ioc—Inversion of Control,“控制反转”是一种设计思想,是Spring核心之一。Ioc将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。

传统方式管理对象:

玩转Spring框架教程03之Spring IOC实现原理

资源的创建权由App控制

容器方式管理对象:

玩转Spring框架教程03之Spring IOC实现原理

不再是App直接控制资源对象的创建权利,需要资源对象找Spring IOC获得。Spirng IOC接管资源对象的创建权;

IOC的发展过程

玩转Spring框架教程03之Spring IOC实现原理



  1.1直接创建对象方式

玩转Spring框架教程03之Spring IOC实现原理

缺点:

直接创建对象的方式导致UserTest和UserService方法耦合度太高,不利于扩展和维护;

解决方案:

工厂模式,调用工厂类创建对象实现解耦。

玩转Spring框架教程03之Spring IOC实现原理

调用工厂类获取对象

玩转Spring框架教程03之Spring IOC实现原理

1.2工厂模式改造

工厂模式不足:

*创建对象比较单一

*需要创建其它类型对象需要频繁修改工厂类

*维护性和扩展性差

工厂模式不足解决:

   为了解决工厂模式的不足,Spring的核心使用了IOC思想,在工厂模式的基础上增加了XML配置文件、Dom4j、反射技术

  IOC = 工厂模式 + XML + Dom4j + 反射