依赖注入是反转控制的一种。
什么是反转控制?
我们平常写程序,需要什么对象,就在代码里显式地new一个出来然后使用,这是我们自己去控制对象的生成。 而反转控制是让Spring(或者类似的其他工具)帮忙去生成我们需要的对象,也就是说对象的生成的控制权交给Spring了。
当然,Spring需要依据一定的规则去生成对象,这个规则就在我们写的xml配置文件、或者代码中添加的注解之中。 换句话说,我们不要生成对象,但是要去写配置。
据说,反转控制可用于解耦。这个在小型的项目中很难看出来,项目越大越能感受得到。(我是没写过这方面的大的项目,想着xml配置就头疼)
反转控制的实现中应用了大量的反射。
依赖注入
声明依赖关系,Spring将对象A需要的对象B注入到对象A中。
建议阅读
google Spring 依赖注入
。