什么是IoC
IoC(Inversion of Control),控制反转,是Spring框架的重要组成部分。IoC是一种概念,是一种设计原则。把对象创建和对象之间相互调用的过程交给Spring管理。
为什么要用IoC
IoC可以帮助程序的结构更加健壮,解耦合。其实使用Spring IoC,可以方便的实现工厂模式和单例模式。这两个设计模式对于程序的健壮性是十分重要的,运用设计模式,带来的好处非常多,可以写出扩展更方便、性能更高的程序。不使用IoC,为了写出健壮的程序,也可以自己来实现设计模式,但是一个项目就要一个重新写一个设计模式,造成时间和精力的浪费。通过运用Spring IoC容器,设计模式的实现变得简单,只需要使用Spring IoC提供的API就可以很方便的实现,从而快速地写出好程序。
IoC的原理
Spring中,有个IoC容器。写程序的时候都把对象的创建交给IoC容器管理。IoC容器的底层实现,有三个主要的点。
一是反射机制,二是xml的解析,三是工厂模式。
IoC如何创建对象的呢。主要有三步
1、xml解析(解析我们写的配置文件,当然注解也可以实现,这里就不多说了)
2、通过反射创建对象(默认是单例模式)
3、返回对象的引用给调用方