为什么要使用依赖注入?
在我们了解为什么要使用依赖注入之前,我们需要了解什么是依赖注入。
依赖注入是什么?
在Spring中有一个很重要的设计思想——IOC(Inversion of Control)也就是控制反转。这种设计思想的主要内容是:将创建对象的控制权进行转移,由传统代码直接在对象内部通过new进行创建对象转变为由IOC容器控制对象的创建。依赖注入(DI)就是IOC的一种类型。
依赖注入的必要性
在传统代码中,每个对象负责管理自己需要依赖的对象,如果需要切换依赖对象的实现类,就会出现“牵一发而动全身”的情况,我们需要修改多处代码,既耗费大量时间又容易出现错误。
为了提高java开发的效率,在遇到这类问题时,我们便可以用依赖注入的方式对传统代码进行优化。依赖注入把对象的创建交给外部IOC容器管理,很好的解决了代码紧耦合的问题,让代码实现松耦合。而松耦合让代码更具灵活性,能更好地应对需求变动。像上述需要切换依赖对象的实现类时,我们就只需要修改xml文件中的代码,无需修改其他代码,既方便简单又不容易出错(以基于xml的配置为例)。