IOC容器:本质是个map,存放各种对象(如xml配置里的bean对象,service, controller等)。当项目启动的时候,就会扫描各个注解和xml里的bean,创建实例然后放入ioc容器里。当后面需要用到这些对象的时候,就会使用DI依赖注入,然后就可以去使用这些对象。
控制反转:一般情况下,对象需要自己去new,但是有了IOC,对象的创建和管理权就在IOC容器了。我们就由主动变成被动,相当于控制反转了。
作用:类似于粘合剂,把所有对象粘合在一起发挥作用,因为全部对象的控制权在IOC容器,如果没有它,对象之间就失去联系。另外,使用IOC,开发者可以更加专注于业务逻辑的实现,而不是背对象的创建和管理等细节困扰,大大提高了效率。