java框架的spring作为整个工程的统领者,可以有效地管理各层的对象,有效的协调运行,当系统西药重构时,可以极大地减少改写代码的量。
依赖注入和控制反转属于同一个概念,在java中当某个类(调用者)需要另一个类(被调用者)的协助时,在以往的程序设计理念中,通常由调用者类创建一个被调用者类的实例(new一个被调用者类),这种new一个对象的方法通常会在java空间中开创一个空间,对java项目整体运行效率会有一定的影响,而且是比较粗鲁的方式。但在spring框架里,创建调用类的工作不再由调用者类来完成而是由框架进行(也就是实例化的控制权由程序员变更为spring这个容器),由此现象成为控制反转(也就是反转了之前的一些工作方式),调用者类的实例化工作通常由spring容器来完成,接着将其注入调用者,由此称之为依赖注入。
按照以往的方式,每次调用被调用者类都需要实例化一个被调用者类,如果有许多个类需要调用这个被调用者类,就要实例化许多个被调用者类。现在由spring框架担当中间方并将被调用者类准备好,谁需要被调用者类,被调用者类就会被注入到调用者那里。
原文:http://www.cnblogs.com/xfxy/p/7594381.html