IOC:Inversion of Control。是一种设计模式。有容器来管理类的创建、销毁,以及对象的生命周期。
作用是解耦,将需要的接口实现注入到类中,使应用程序代码和依赖关系解耦。依赖关系改变时不用反复修改代码,只需要修改xml即可,实现对象热插拔。例如,实现接口A的子类有2个B、C,首先xml中配置的是注入B的对象,只要修改xml就可以立刻注入C的对象了。
需要生成的对象定义在xml中,利用Java反射编程,根据xml中给出的类名生成相应的对象,在生成时才决定要生成哪一种对象。反射经过改良后生成对象速度差不多是普通生成对象的一倍。
SpringIOC实现的原理是工厂模式+反射
IOC的实现原理—反射与工厂模式
https://blog.csdn.net/fuzhongmin05/article/details/61614873/
Spring框架IOC和AOP的实现原理