控制反转(Inversion of Control)
依赖注入(Dependency Injection)
一、控制反转
1.控制:传统的方式是由程序创建的,写死的, spring 是由spring管理创建对象,实现了解耦。
2.反转:由主动创建变为被动接受,正转:程序创建对象。
优点:比如两个实现类 mysql的实现,oracle的实现,如果不用控制反转,就需要程序写死,日后维护不方便,如果用控制反转,只需要修改配置文件,动态传入是mysql,oracle
二、依赖注入:有spring容器来装配对象
set注入,构造方法注入,数组注入,集合注入,配置文件properties注入,命名空间,P,C注入
控制反转和依赖注入主要是为了实现多态,实现程序解耦,可扩展
原文:http://www.cnblogs.com/jentary/p/6440440.html